我正在尝试获取 3 个 bool 变量和 1 个 int 变量的输入。即使我正确输入,它的行为也不正确。
我正在使用@taufique在scanf中的格式说明符中为C中的bool数据类型建议的%d
格式bool
说明符stdbool.h
这是我的代码及其行为:
#include <stdio.h>
#include <stdbool.h>
int main( )
{
bool health,sex,living;
int age;
scanf("%d%d%d%d",&sex,&health,&living,&age);
printf("\n%d %d %d %d\n",sex,health,living,age);
}
安慰:
0 1 0 25
0 0 0 25
对于其他一些输入:
1 0 0 26
0 0 0 26
但是,当使用临时整数变量按照@ouah 在scanf 中的相同格式说明符中为 C 中的 bool 数据类型建议的输入时,它可以正常工作。
那么为什么 scanf 行为不正常呢?
PS:对于某些输入,它确实可以正常工作:
0 0 1 26
0 0 1 26