多选择需要运用逻辑符号
与python不一样
c++不能(0<x<10)
要(x<0 && X<10)
int x,y;
cin>>x;
if(x<=0){y=x;}
else if(0<x<10){y=5*x-10;}
else {y=10*x-20;}
cout<<y;
上面代码只要输入大于零的值都会执行第二个条件语句
int x,y;
cin>>x;
if(x<=0){y=x;}
else if(0<x && x<10){y=5*x-10;}
else {y=10*x-20;}
cout<<y;
才是正确的
原因
一个判断就是一个布尔
0<x<10就包含了两个判断等于两个bool
先判断0<x返回true,true再隐式转换成1
变成1<10,在返回true,判断成立
所以出现上面的问题