c - 该给定 C 程序的输出

标签 c

以下程序片段

int k=-7;

printf("%d",0<!k);

会根据答案打印0。

谁能解释一下为什么?

最佳答案

这就是您要打印的内容:

0 < !(-7)

首先,!(-7) 将给出 0,因为 -7 是一个“真”整数,即它是非零,并且 ! 对它求反,所以​​整个结果是“假” “即0。

那么你有:

0 < 0

这当然是假的,即 C 中的 0。您将其打印为整数,所以您当然会看到 0

关于c - 该给定 C 程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652365/

相关文章:

c - 如何在/使用 Visual Studio 2010 中为 64 位 Windows 构建 libcurl?

c - 段错误,地址越界

C 语言 printf 和 fprintf 在打印包含重音法语字符的字符串时搞砸了

c - altivec 提取部分 vector ?

c - "error: expected identifier or ' ( ' before ' { ' token"在 pthread.h 上编译 64 位时

c - 关于逐像素渲染位图算法的建议

c++ - 类方法 VS 类静态函数 VS 简单函数 - 性能方面?

c - 如何为一组 pthreads 共享互斥锁?

c - 在 C 中删除另一个字符串中出现的字符串(代码和错误消息)

c - 检查泛型数组是否为 MaxHeap 的算法