1613551 发表于 2022-7-19 10:00:22

关于运算符优先级的问题

有大佬知道这代码是怎么算的吗?
为什么算的结果会是1

#include <stdio.h>
int main(void)
{
int x, y = 4, z = 5;
printf("%d", !(x + y) + z - 1 && y + z / 2);
return 0;
}

wp231957 发表于 2022-7-19 10:00:23

&&前后都不是0   所以返回1
那个x虽然不确定,但是逻辑非返回值非0即1
所以简单数学运算即可

1613551 发表于 2022-7-19 10:38:29

wp231957 发表于 2022-7-19 10:21
&&前后都不是0   所以返回1
那个x虽然不确定,但是逻辑非返回值非0即1
所以简单数学运算即可

噢噢,不是 0就会返回1是吧
页: [1]
查看完整版本: 关于运算符优先级的问题