c - C 中整数的 NOT

标签 c

#include <stdio.h>
int main()
{
    int i;

    i=1;
    printf("%d ",!i);

    i=5;
    printf("%d ",!i);

    i=0;
    printf("%d\n",!i);

    return 0;
}

我在 C 中得到以下输出:0 0 1

输出背后的逻辑是什么?

最佳答案

在 C 语言中,任何非零值都被视为真值。因此,使用 ! 进行逻辑否定会将其转换为 00 的逻辑非是 1

关于c - C 中整数的 NOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047670/

相关文章:

c - Ptrace 为 execve 捕获许多陷阱

使用 -fomit-frame-pointer -mrtd 编译 c 会在自由函数指针上创建段错误

C - 未收到 SIGALRM

c - 在c中重新分配二维数组的最佳方法?

c - 在 Eclipse CDT 中隐藏错误的 noreturn 语法错误

c - undefined reference -- 局部符号

c - 大型静态数组是否会破坏堆栈?

c - 如何检查 CPU 是否支持 aes-ni?

c++ - SDL 中没有可用的视频设备

具有复杂结构的 C++ 初始化列表