C语言运算符优先级测试:解析代码输出结果
C语言运算符优先级测试:解析代码输出结果
题目: 以下C语言代码的输出是什么?cint x = 10;x += x -= x * x;printf('%d', x);
选项:
A. 10 B. 0 C. -180 D. 100
答案: D. 100
解析:
这道题考察的是C语言中运算符的优先级和结合性。
-
优先级: *
*运算符的优先级高于+=和-=运算符。 *+=和-=运算符的优先级相同, 从右往左结合。 -
结合性: *
-=运算符是从右往左结合的。
因此,代码的执行顺序如下:
x * x首先计算,结果为 100。2.x -= 100, 等价于x = x - 100, 由于x初始值为10,结果为 -90。3.x += -90, 等价于x = x + (-90), 结果为 -180。4.printf('%d', x)输出 -180。
所以,最终答案为 C. -180。
总结:
在编写C语言代码时, 务必了解运算符的优先级和结合性, 以避免出现难以察觉的错误。
原文地址: https://www.cveoy.top/t/topic/bilr 著作权归作者所有。请勿转载和采集!