题目:
1.请看下面两个计算空格和换行符数目的代码片段:
版本1:
while (cin.get (ch)) // quit on eof
{
if(ch == ' ')
spaces++;
if(ch=='\n')
newlines++;
}
版本2:
while(cin.get(ch)) // quit on eof
{
if (ch == ' ')
spaces++;
else if(ch=='\n')
newlines++;
}
第二种格式比第一种格式好在哪里呢?
答案:
这两个版本将给出相同的答案,但if else 版本的效率更高。例如,考虑当ch为空格时的情况。版本1对空格加1,然后看它是否为换行符。这将浪费时间,因为程序已经知道ch为空格,因此它不是换行符。在这种情况下,版本2将不会查看字符是否为换行符。
C++技术网辅导详解解答:
答案解释的已经很清楚了,这里就不赘述了。