c语言, i = ( a = 1, b = 2, c = 100 ); i的值是一百怎么理解啊?

如题所述

这里是逗号表达式(多目运算符):表达式1,表达式2,表达式3....表达式n

计算规则:从左往右计算,整个逗号表达式的值为最右边表达式(表达式n)的值。。

这里 ( a = 1, b = 2, c = 100 )的结果就是:c=100,所以i=100
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-11
i = ( a = 1, b = 2, c = 100 ); ——>a=1,b=2.c=100,i=(100);
①首先根据运算优先级,括号里面作为一个表达式,即 可知( a=1,b=2,c=100 )的逗号“,”在这里是做运算符作用,(当然还有分隔作用,比如int a,b,c;),
②然后在括号里,一般来说运算顺序是自左向右的,所以( a=1,b=2,c=100 )最后的值为100,
③只不过这个值也赋给了c;同时也赋给了i,所以i=100;
第2个回答  2012-12-19
i = ( a = 1, b = 2, c = 100 );
括号的优先级最高,你先执行括号里面的
i = ( ***); a = 1, b = 2, c = 100 //最后结果是 c = 100
然后执行
i = ( c = 100 )也就是I=C也就是100啦
第3个回答  2012-12-19
  逗号表达式,自左向右的,以最后面的一个表达式的结果为准。所以算到c=100,然后得到c的值是100,然后赋值给i,所以i就是100了,
第4个回答  2012-12-19
这是逗号运算符,为左结合,最后结果输出最后一个表达式的值,所以就是i=100;
C语言课本上应该有的,好好理解下。
相似回答