C语言怎么输入bool型变量
C语言中,本身没有bool(布尔型变量)。
bool是布尔型变量,也就是逻辑型变量的定义符,类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。
布尔型变量的值只有 真 (true) 和假 (false)。
布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算。
建议:最好别用bool,bool变量可用int代替。
扩展资料
BOOL和bool的区别:
1、类型不同
BOOL为int型
bool为布尔型
2、长度不同
bool只有一个字节
BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,是0和1的区别
如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。
BOOL是微软定义的typedef int BOOL(在windef.h中)。与bool不同,它是一个三值逻辑,TRUE/FALSE/ERROR,返回值为大于0的整数时为TRUE,返回值为0时候,为FALSE,返回值为-1时为ERROR。
参考资料来源:
scanf中没有对bool的定义,bool也不是标准c中的内容,要用bool就要包含stdbool.h头文件,bool的定义是将不为0的数置为1。
可以这样做:
bool i;
int j;
scanf("%d",&j);
i=(bool)j;//j为0 i就为0,j不为0,i就为1
i=(bool)j;
扩展资料:
scanf(函数原型
int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdin中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。
参考资料来源:百度百科-scanf (计算机语言函数)
你只要搞清楚scanf里面所有的各种格式化修饰符的意思就一目了然了!
scanf用于从标准输入获取格式化输入
第一个%d,表示期望输入一个整数,scanf参数列表的后面有一个对应参数
第二个d,表示你第二个输入与第一个输入以字母d分开,否则算非法输入
第三个%c,表示期望输入一个字符,scanf参数列表的后面有一个对应参数
第四、五个%*d,本来是%d表示期望输入一个整数,中间插入了个*,改变了意思:忽略掉该整数输入,也就是你输入了整数但是不会赋给对应的变量啦
最后一个%d:表示期望输入一个整数,scanf参数列表的后面有一个对应参数
最后说明一点,对于任意一个字段,如果不符合要求就算是非法输入,结果可能就不是你预期的了。你可以尝试不同的输入,看看结果究竟咋样?
bool型用什么修饰符
布尔类型变量只有 0和 1
不对呀,我%d输入一串数字,然后用%d再打印会出现另一串数字
可以这样做
bool i;
int j;
scanf("%d",&j);
i=(bool)j;//j为0 i就为0,j不为0,i就为1
i=(bool)j;