【发布时间】:2014-03-08 01:26:35
【问题描述】:
我被课堂上的以下问题困住了。使用优先级,求解以下逻辑表达式:1 && -1 * -3 - 4 = 8 != 9 / 10 > 0
我首先使用以下步骤解决问题
-> 1 && -1 * -3 - 4 = 8 != 9 / 10 > 0
-> 1 && 3 - 4 = 8 != 1 > 0
-> 1 && -1 = 8 != 1 > 0
-> 1 && 1 && 1 >= 8 != 1 >0
-> 1 && 1 && 0 != 1 >0
-> 1 && 1 && 0 != 1
-> 1 && 1 && 1
-> 1 ,所以我想答案是 1,但是当我使用 C 程序尝试时,答案是 0。(代码如下所示。)
#include <stdio.h>
int main(int argc, char* argv[]){
int x = 1 && -1 * -3 - 4 < 5 && 6 <= 7 >= 8 != 9 / 10 > 0;
printf("1 && -1 * -3 - 4 < 5 && 6 <= 7 >= 8 != 9 / 10 > 0 = %d\n", x);
return 0;
}
【问题讨论】:
-
9/10是0,而不是1。 -
非常感谢,刚刚知道整数除法总是向下取整。谢谢红色警戒。
标签: c logic expression