多個if和一個ifelse的區別


一個程序的要求如下,輸入一個學生的數學成績,如果大於等於60,那么就輸出good,如果小於60那么輸出not good

int a

scanf_s("%d",&a)

if(a>=60)

{

  printf("good");

}

if(a<60)

{

  printf("not good");

}

邏輯上是沒有問題的,是可以解決問題的,但是實際運行起來的流程是這樣的。如果用戶輸入90,那么程序會先

判斷a是否大於等於60,恩,條件成立輸出good,然后又會判斷a是否小於60,這里不應該多這一次判斷的。這個程序的判斷條件比較簡單,如果是很復雜的判斷條件,那么程序的性能就會受到影響。

我們要的效果是你判斷成績大於60成立就不要再判斷是否小於60了,我們可以用if else來實現。

if(a>=60)

{

  printf("good");

}else

{

  printf("not good");

}

if else的只對a判斷一次,條件成立則打印good 不成立打印not good

 

 

今天想了一下,發現問題的關鍵不是在性能方面,而是邏輯有問題,如果成績大於等於60就不應該判斷成績是否小於60了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM