#import <stdio.h>
int main()
{
int a,d,b,c;
a = 10;
c = 10;
d = --c + --c+1;
b = --a +1+ --a ;
printf("b= %d, d = %d" , b,d);
return 0;
}
b = 18,d = 17
为什么d&amp; b不相等?你能解释为什么d = 17?
答案 0 :(得分:0)
哦,是的,因为当a
和c
的值减少时,它是未定义的。
d = --c + --c+1;
如果c
递减两次,然后计算出d
,那么它会给出
d = 8 + 8 + 1 = 17
但是如果我们从左到右递减c
,那么它会给出
d = 9 + 8 + 1 = 18