下面代码的输出结果是? #include <stdio.h> int main() { int z, x = 5, y = -10, a = 4, b = 2; z = x++ - --y * b / a; printf("%d\n", z); return 0; } A. 5 B. 6 C. 10 D. 11 E. 12
先对x进行减法运算,再对x进行++ z = x++ - (--y * b / a); z = 5 -(-5)= 10 计算完z = 10后,再对x进行++,最后x的值为6
正确答案:C 解题步骤 int...
用户登录可进行刷题及查看答案
正确答案:C 解题步骤 int z, x = 5, y = -10, a = 4, b = 2; z = x++ - --y * b / a; step1.首先计算自增自减运算符,先计算 x++ 和 --y。
x++ :先使用x再对x进行++ ——>5 --y :先对y--再使用y的值 ——>-11 step2. “ * ”、“ / ”位于优先级第三级,“ - ” 位于优先级第四级,所以先进行乘除运算,算术运算符采取左结合,因此自左向右计算。
--y * b / a; -11 * 2 / 4; -22/4 == -5.5 但是由于采用“ / ",所以会趋零截断得到 -5 (--y * b / a )== -5 step3.最后计算 “ - ”,采用左结合,自左向右计算。
登录后提交答案