一個程序的要求如下,輸入一個學生的數學成績,如果大於等於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了。