1.若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量 t 没定义,所以此宏定义是错误的。请问这句话的说法是正确的吗?
答案:错
宏定义不作类型检查
2.在C++中,若有以下定义 int a, b; float x ;,则正确的赋值语句是?
A.a=1, b=2;
B.b++;
C.a=b;
D.b=int(x);
答案:A
BC都会提示使用了未初始化的局部变量b
D会提示使用了未初始化的局部变量x
3.函数外部访问x等于什么?
enum string
{
x1,
x2,
x3 = 10,
x4,
x5,
} x;
答案:0
如果是函数外定义那么就是全局变量,值为0
如果是函数内定义,那么是局部变量,为随机值,因为没有初始化,需要初始化才能使用
4.以下关于内联函数,说法正确的是?
A.一般用于加快程序执行速度
B.可能减小可执行文件大小
C.可能增加可执行文件大小
D.以上说法都不正确
答案:AB
B:当只有一个地方调用了内联函数时,编译器会在调用处将内联函数展开,这样就少了函数的跳转指令,栈的扩展指令,因此可能减小文件的大小