C语言中连续判断符

来源:互联网 发布:盈透证券骗局 知乎 编辑:程序博客网 时间:2024/04/28 00:22
  1. #include "stdio.h"  
  2. main()  
  3. {   
  4.     int a=1,b=2, c=3, t;  
  5.     while (a<b<c)   
  6.     {  
  7.       t=a; a=b; b=t; c--;     
  8.     }  
  9.      printf("%d,%d,%d",a,b,c);  
  10. }  


答案是什么?为什么?答案不是2 1 2

—————————————————————————————————————

这是当时我的回答

这个答案应该是121,问题出在while()的循环条件,实际上这个循环执行了两次,括号中a>b>c的实际判断过程是先判断a>b是否为真,若为真则返回1,即(a>b)变成了1,然后再和c比较,若为假则返回0,也就是说比较完a和b后,(a>b)就变成了一个具体数值(1或者0)和c比较。按照这个原理,程序就会循环两次。如果括号里是while(a<b && b<c)这样的话程序会执行一次,答案就变成212
原创粉丝点击