1.若有变量定义:int a = 5, *p = &a, *q = a; 则下面不能做的运算是 B
A. a = (*p)*(*q); B. q = a; C. a = p - q; D. p = q;
int *”与“int”的间接级别不同
2.写一个表达式,表示一个整数 i 既是奇数又是3的倍数 i%2!=0 && i%3==0
3. 若有int x,则执行下面语句 x=4; x+=x*=x+x; 后 x 值是 64
int main()
{
int x = 4;
printf("%d\n", x += x *= x + x);//64
system("pause");
return 0;
}
赋值运算符结合性从右至左,故先算x+x=8,再算x*=8得x=4*8=32,最后算x+=32得x=32+32=64.
4.智力题
一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?