c语言运算顺序,还没有完全弄懂。
int a = 0;
int b = 0;
int c = 0;
//以上为下面每种运算的公用部分,就是说a,b,c都是从等于0 开始的。
1. a = ++b + abs((a = 100, b = 10)) + a;
=120,而b=10:我以为b=11,j结果是121
2.a = (c = 10) + abs((b++, a = 100, c = 1000 )) + (b);
=2001,c=1000:
3. a = (c = 10) + abs((++b, a = 100, c = 1000 )) + (b);
=2001:b++和++b成了一样的结果。
4.a = (c = 10) + (c) + abs((b++, a = 100, c = 1000 )) + (b) ;
=1021
5.a = (c = 10) + abs((b++, a = 100, c = 1000 )) + (b) + (c);
=3001
以上vc6调试观察的。
所以,没有弄懂运算步骤到底是怎样的,运算符的优先级我知道,那这几个例子谁告诉我vc6是怎样一步一步计算的。
比如:1。a = ++b + abs((a = 100, b = 10)) + a;先算括号,后算++,最后+。但++b和b=10哪个先算?