#include <stdbool.h>
#include <stdio.h>
int main ()
{
bool a, b;
a = 1;
b = 4;
if (a == b)
printf ("They are equal\n");
else
printf ("They are different\n");
}
此代码打印They are equal
- 这怎么可能发生?无论我为它们分配什么,变量
a
和赋值中b
的值是否都被填充?0x1
或者也许是==
被黑客入侵来处理bool
s 的? - 这种行为是否可以跨 C 标准库实现和编译器移植?
- 在引入 之前,在逻辑上比较两个
bool
/的正确方法是什么?int
stdbool.h