gpt4 book ai didi

c - 这个语句说明了什么,请解释 if(!(!x) && x)

转载 作者:行者123 更新时间:2023-12-05 08:50:13 25 4
gpt4 key购买 nike

这个语句说明了什么,请解释if(!(!x) && x)

#include<stdio.h> 

int main(){
int x=5, y=10;

if(!(!x) && x)
printf("%d",x);
else
printf("%d",y);

return 0;
}

最佳答案

if(!(!x) && x) 等同于 if(!!x && x)

!!x 如果 x 非零则为 1,如果 x 为零则为 0。

此外,表达式简化为 (!!x) 因为 && x 是重言式,因为 x 是非 volatile int 类型。但是将值折叠为 0 或 1 正是 if 条件的行为,因此 if 简化为 if (x)

关于c - 这个语句说明了什么,请解释 if(!(!x) && x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62549115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com