首页 > 代码库 > 雪泥鸿爪-教学中的debug(8)

雪泥鸿爪-教学中的debug(8)

问题:

1 # include<stdio.h>2 int main(void)3 {4     int x, y, z;5     x = y = z = 0;6     + + x || + +y || + + z;7     printf("***  x=%d y=%d z=%d\n", x, y, z);8     return 0;9 }

程序的输出为什么是0 0 0, 而不是1 0 0.

 

答案:

技术分享
++中间不能有空格 。为什么程序编译能通过呢?因为+(-)不仅是二元运算符,而且是一元运算符,+x的值就是x,+ +x就是x。因为不太常见,特此存照
View Code

 

雪泥鸿爪-教学中的debug(8)