使用多个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中,在进行了空格判断后就不会继续去执行接下来的判断了。

你可能感兴趣的:(C++)