当x为负时,!x是否等于真?
int main() {
int x = -1;
if (!x) {
printf("Yesn");
}
}
是负数!x时x为真还是只有负数时为真0?
回答
对于任何非零x,!x将为零。所以,对于x == -1,!x是假的。
从cppreference:
逻辑 NOT 运算符的类型为 int。它的值是?0? if 表达式的计算结果不等于零。如果表达式的计算结果等于零,则其值为 1。