使用多個if和使用if else if的區別

//Version1
while(cin.get(ch))
{
    if(ch==' ')
        spaces++;
    if(ch=='\n')
        newlines++;
}


//Version2
while(cin.get(ch))
{
    if(ch==' ')
        spaces++;
    else if(ch=='\n')
        newlines++;
}

version1和version2的區別:

           這兩種寫法都可以達到相同的效果,但是version2的效率更高。假設讀取的下一個ch爲空格,在version1中執行完空格判斷語句後,任然會繼續去執行換行判斷;但是在version2中,在進行了空格判斷後就不會繼續去執行接下來的判斷了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章