自增,自减运算符使用问题
菜鸟初学C,遇到自增,自减运算时遇到问题。书上
main()
{ int a=3,b;
b=++a+(++a)+(++a);①
printf(“a=%d,b=%d\n”,a,b);
b=(a++)+(a++)+(a++);②
printf(“a=%d,b=%d\n”,a,b); a=3;
printf(“a=%d,b=%d\n”,a, ++a+(++a)+(++a));③
}
得出①a=6,b=18
②a=6,b=9
③a=6,b=15
可我自己在TC2.0上实验时得出①a=6,b=18
②a=9,b=18
③a=6,b=15
公式②结果怎么不对,这是为什么啊?
后来我把公式②单独写即:
main()
{ int a=3,b;
b=(a++)+(a++)+(a++);②
printf(“a=%d,b=%d\n”,a,b); a=3;
}
又得出a=6,b=9
这里面到底哪出错了呢?