C语言表达式求值:a = (c = 9, a = 2, a++, 5 + 8) 中变量a的值
变量a的值是13。
表达式 a = (c = 9, a = 2, a++, 5 + 8) 中包含多个操作,需要按照C语言的运算符优先级和结合性逐个分析。
- 首先执行
c = 9,将变量c的值赋值为9。 - 接着执行
a = 2,将变量a的值赋值为2。 - 然后执行
a++,先将a的值加1,此时a的值变为3,但表达式返回值为2(自增操作返回值为自增前的值)。 - 最后执行
5 + 8,结果为13。
由于逗号运算符的结合性为从左到右,且逗号运算符的结果为最后一个表达式的值,因此最终表达式 a = (c = 9, a = 2, a++, 5 + 8) 的结果为13,所以变量a的值为13。
原文地址: http://www.cveoy.top/t/topic/kffX 著作权归作者所有。请勿转载和采集!