c语言运算顺序,还没有完全弄懂。

zhugay zhugay 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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哪个先算?
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
zhugay
C++ 语言 65,214 成员 250,514 内容