1.假定 a 为一个数组名,则下面存在错误的表达式为?
A.a[i]
B.*a++
C.*a
D.*(a+1)
答案:B
当a为数组名时,可以当做一维指针进行取值运算,但是由于数组名等同于常量指针,所以不可以对数组名进行赋值运算所以当a为数组时, a=任意表达式 这样的计算都是非法的
B:a代表数组的地址,不能被改变
C:*a相当于a[0]是正确的
2.若重载运算符+,则相应的运算符函数名是运算符函数名应该为operator+
3.在32位机器上,下列代码中,sizeof(a)的值是?
答案:22字节
i是4字节
共用体u因为强制为2字节对齐(#pragma pack(2)),所以为14字节,color枚举类型的实例是4字节
4.下面代码段的输出为多少?
void main () {
float x=2.0,y;
if(x<0.0) y=0.0