为了账号安全,请及时绑定邮箱和手机立即绑定

判断输入的时候,为什么输入1为真,输入其他非0,判断为false呢?

为什么判断输入真假,只能用0和1啊,我输入0,输出最小值,输入1,输出最大值,这样没错,但我输入非0的其他数字(比如3),还是会输出和0一样的结果,不明白

正在回答

2 回答

0表示假,所有非零表示真。这个是一个bool的定义

但c++中bool的前身是C语言的IF条件判断。 

因此你可以这么理解

例子中把 ismax定义为false意思就是把ismax定义为非真才会是is max 转化成C语言来看你应该好明白点

int ismax=0

printf("请输入ismax");

scanf("%d",&ismax)

if(ismax==0)

{

找最小值

}

else

{

找最大值

}


这样能大致理解教程中是为什么输入0反而是找最小值了吧

因为我定义了ismax在真的情况下才是找最大值呀,输入0不就是false了么 当然就是找最小值了

你要的结果跟你的判断语句有很大的关系


0 回复 有任何疑惑可以回复我~

一般的,0为false,非0为true,输入的各种不是零的字符都按非0处理,你遇到的问题建议把代码贴出来看看

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之起航篇
  • 参与学习       291032    人
  • 解答问题       760    个

C++亮点尽在其中,本课程是在C语言基础上的一个延伸,得以升华

进入课程

判断输入的时候,为什么输入1为真,输入其他非0,判断为false呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信