c语言逗号表达式的值是什么呢?

如题所述

逗号表达式 a=2*6,a*3,a+5 的值:
int a;
int s;
s = (a=2*6,a*3,a+5);
右边小括号里的是逗号表达式,它分成3个表达式:
(1)a=2*6,
(2)a*3,
(3)a+5

计算顺序是 (1) (2) (3); 算毕,把 (3) “最后一个表达式的结果” 作为 “逗号表达式 的 结果” 给出。

(1) 式,叫“赋值表达式” -- C 语言的叫法! 算得 a=12
(2) 式, 表达式 的 结果 是 a*3 , a 的当前值 是 12 , 表达式 的 结果 是 36, a自身值 是 12没变
(3)式,表达式 的 结果 是 a+5,上一步说了, a自身值 是 12没变,所以这里 a+5 = 12 + 5 = 17
“最后一个表达式的结果” 作为 “逗号表达式 的 结果” 给出 , 最终给出 17
printf("%d ",s); 打印出 17。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网