作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个语句说明了什么,请解释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/
我是一名优秀的程序员,十分优秀!