这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [分享]C++小BUG大围剿(七)

共1条 1/1 1 跳转至

[分享]C++小BUG大围剿(七)

菜鸟
2006-11-30 05:33:23     打赏

程序 7 三个数的惊奇

a,b,c是按照降序排列的吗?下面的程序与你的想法一致吗?

1 /********************************************

2 *test to see if three variables are in order*

3 ********************************************/

4 #include<isostream>

5

6 int main()

7 {

8 int a,b,c; //three simple variables

9

10 a=7;

11 b=5;

12 c=3;

13

14 //test to see if they are in order

15 if(a>b>c)

16 std::cout<<“a,b,c are in order\n”;

17 else

18 std::cout<<“a,b,c are mixed up\n”

19 return(0);

20 }

答案:不可以连用三个比较运算符,例如a>b>c,计算机为什么要比较1>c?问题在于比较运算符的结果是1或者0,因此表达式

if(a>b>c)

实际上成为:

if((a>b>)c)

由于a比b大,所以(a>b)的结果是1,于是就有if(1>c)

这个结果是false,因此执行else子句




关键词: 分享     围剿    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]