求問c語言中的合法不合理是什麼意思。若我寫一個int b,c;scanf c;b=c<28;printf b;得到的結果是多少。小白求問
合法不合理意思就是語法層面行得通,但是邏輯上不對,你給的這個例子我就不解釋了,我舉一個很常見的錯誤:
if (a = 0){
// do something
}
這個判斷語句很簡單,作者的意思可能是要判斷a是不是等於0,可是==寫成了=,a=0從語法層面講是永遠為true的,編譯器也不報錯,最多可能給你個警告,但是從邏輯上講,就失去了判斷的意義。這就是所謂的合法不合理吧。
你寫的這個可能就是判斷輸入的值跟28的大小關系吧,如果c>=28。則輸出0,否則輸出1(或者非0)。這個是我猜的,沒有具體上機驗證,如有誤,請指正……