执行以下语句后的输出结果 int x=3, y=0; printf("%d,%d", -1>x>...
发布网友
发布时间:2022-04-25 11:13
我来回答
共2个回答
热心网友
时间:2024-10-29 19:23
首先看第一个结果
-1>x>-10&&1<x<10
把x=3带入
-1>3>-10&&1<3<10
按照运算优先级,判断大小要比逻辑与操作优先,所以是
(-1>3>-10) && (1<3<10)
-1 > 3 是假,所以结果为 0
0 > -10 是真,所以结果为 1
右边也一样得 1
1 && 1 结果就是 1
第二个类似就不写了
热心网友
时间:2024-10-29 19:19
printf("%d,%d", -1>x>-10&&1<x<10, -1>y>-10&&1<y<10);搞清楚这句printf()调用语句。
第一个 %d 对应参数是 -1>x>-10&&1<x<10
该表达式的求值是这样的,-1>x>-10&&1<x<10 等价于 (-1>x>-10)&&(1<x<10)
接着,&&左边是:-1>x>-10 从左至右求解,-1>x 结果是假,则值为0,所以:-1>x>-10
就变成 0>-10,显然是真,则值为1。
用同样的方法,求解。
所以答案是 1,1