s1e10
为什么运行结果与小甲鱼不同代码如下
printf("%d\n",3 > 2 && 1 < 2);
printf("%d\n",3 + 1 || 2 == 0);
printf("%d\n",!(a + b));
printf("%d\n",!0 + 1 > 1 || !(3 + 4));
printf("%d\n",'a' - 'b' && 'c');
小甲鱼的运行结果是11001
我的运行结果却是11011
求大佬帮忙 本帖最后由 liuzhengyuan 于 2020-4-19 16:44 编辑
printf("%d\n",!0 + 1 > 1 || !(3 + 4));
这行代码按理来说应该是 1
@小甲鱼 错了 @不二如是 liuzhengyuan 发表于 2020-4-19 16:41
这行代码按理来说应该是 1
@小甲鱼 错了
同意,我这跑着也是1 !0 + 1 > 1只跑了这部分,后面的或运算以及之后都不会执行了,
!非优先级高于 + 加 高于 > 大于,,
所以前面这算出来已经是1 ,或上后面任何数都是1了
页:
[1]