逗号运算符
最近刚学C,遇到以下问题:int a, b, c, d, e;
e=(d=a+b),(b+c);
e=((d=a+b),(b+c));
e的结果是什么? e的最后结果永远是逗号后面的最后一个 iscpp 发表于 2016-5-29 18:01
e的最后结果永远是逗号后面的最后一个
前一个e的结果是d,后一个e的结果是b+c,对吗? iscpp 发表于 2016-5-29 18:01
e的最后结果永远是逗号后面的最后一个
d或者是b+c? 只要记得括号只取最后位。。。 白豚 发表于 2016-5-29 20:38
d或者是b+c?
当然是b+c 白豚 发表于 2016-5-29 20:35
前一个e的结果是d,后一个e的结果是b+c,对吗?
都是b+c iscpp 发表于 2016-5-30 12:12
都是b+c
但是编译结果不是b+c啊, sorry,看错了,是这样的
变量=(表达式1,表达式2,表达式3);//这样的话,结果是表达式3
如果是
变量=表达式1,表达式2;
事实上它的是这个样子的
(变量=表达式1),表达式2;
所以第一个e等于a+b,第二个是b+c
页:
[1]