關於C語言中類似"a

想起上學期在百度上回答的一個C語言問題,如下

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


#include "stdio.h"
main()
{ 
    int a=1,b=2, c=3, t;
    while (a<b<c) 
    {
      t=a; a=b; b=t; c--;   
    }
     printf("%d,%d,%d",a,b,c);
}


答案是什麼?爲什麼?答案不是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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章