C语言运算符优先级测试:解析代码输出结果

题目: 以下C语言代码的输出是什么?cint x = 10;x += x -= x * x;printf('%d', x);

选项:

A. 10 B. 0 C. -180 D. 100

答案: D. 100

解析:

这道题考察的是C语言中运算符的优先级和结合性。

  1. 优先级: * * 运算符的优先级高于 +=-= 运算符。 * +=-= 运算符的优先级相同, 从右往左结合。

  2. 结合性: * -= 运算符是从右往左结合的。

因此,代码的执行顺序如下:

  1. 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语言代码时, 务必了解运算符的优先级和结合性, 以避免出现难以察觉的错误。

C语言运算符优先级测试:解析代码输出结果

原文地址: https://www.cveoy.top/t/topic/bilr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录