差不多就是a++和++a的问题
int a;
int b = 10;
a = b++;
printf("a=%d,b=%d\n",a,b);
输出结果很明显是:a=10,b=11
但是当
int a = 10;
b = 10;
int c = (a<5)||(b++ -10);
printf("a=%d,b=%d,c=%d\n",a,b,c);
因为a<5输出为0,所以逻辑或继续看右边。
问题来了,此处为何b++部分的值在这里不是11而是10呢?
他不是一个整体应该自加为11吗?
最后结果是a=10,b=11,c=0
整理有些蒙圈了来自: iPhone客户端 |
|