BOOL是布尔型变量,也就是逻辑型变量的定义符,类似于float、double等。bool为布尔型用作逻辑判断,bool取值false和true,是0和1的区别;false可以代表0,但true有很多种,并非只有1。
操作方法
布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。
逻辑测试以改变程序流程:#include iostream.hint main(){bool flag;flag=true;if(flag) cout< return 0;}
方法/步骤2
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就为1i=(bool)j;
方法/步骤3
你只要搞清楚scanf里面所有的各种格式化修饰符的意思就一目了然了!scanf用于从标准输入获取格式化输入
第一个%d,表示期望输入一个整数,scanf参数列表的后面有一个对应参数第二个d,表示你第二个输入与第一个输入以字母d分开,否则算非法输入
第三个%c,表示期望输入一个字符,scanf参数列表的后面有一个对应参数第四、五个%*d,本来是%d表示期望输入一个整数,中间插入了个*,改变了意思:忽略掉该整数输入,也就是你输入了整数但是不会赋给对应的变量啦
最后一个%d:表示期望输入一个整数,scanf参数列表的后面有一个对应参数最后说明一点,对于任意一个字段,如果不符合要求就算是非法输入,结果可能就不是你预期的了。你可以尝试不同的输入,看看结果究竟咋样?