int num, sum;
num = sum = 3;
sum = (num++,sum++,++num); // 5 行1
sum = num++, sum++, num = 18; // 6 行2
num = sum = 3;
sum = (num++,sum++,++num); // 5 行1
sum = num++, sum++, num = 18; // 6 行2
sum = (num++, num = 18); // 18 行3
注意点:
1. 逗号运算符优先级最低
2. 行1的情况下,会把括号内的最终结果赋值给SUM, 括号内会把逗号间隔开的表达式都分别算一下。。所以
num显示++后等于4,最后再前缀++然后返回值是5,赋值给sum
3. 行2的情况是,会先计算sum = num++,然后再计算sum++所以是6
本文通过三个具体的示例详细解析了C语言中逗号表达式的运算规则及优先级特性,介绍了如何根据运算符优先级来理解复杂的逗号表达式,并解释了变量更新和值传递的过程。
4万+

被折叠的 条评论
为什么被折叠?



