下面程序的输出结果是 ( )。
main()
{int x;
x=-3+4*5-6;printf(“%d”,x);
x=3+4%5-6; printf(“%d”,x);
x=-3*4%-6/5; printf(“%d”,x);
x=(7+6)%5/2; printf(“%d”,x);
}
A、
11 1 0 1
B、
11 –3 2 1
C、
12 –3 2 1
D、
11 1 2 1
以下是每行代码的计算过程:
x = -3 + 4 * 5 - 6
优先级:乘法 > 加法/减法
计算:x = -3 + 20 - 6
x = 17 - 6
x = 11
x = 3 + 4 % 5 - 6
优先级:取模 > 加法/减法
计算:x = 3 + 4 - 6
x = 7 - 6
x = 1
x = -3 * 4 % -6 / 5
优先级:乘法/除法 > 取模
计算:x = -12 % -6 / 5
x = 0
x = (7 + 6) % 5 / 2
优先级:括号 > 取模 > 除法
计算:x = 13 % 5 / 2
x = 3 / 2
x = 1 (整数除法,结果舍去小数部分)
综上,输出结果为:11 1 0 1
因此,答案是选项A。