首页 > 试题广场 >

请看下面两个计算空格和换行符数目的代码片段: Ver

[问答题]
请看下面两个计算空格和换行符数目的代码片段:
// Version 1
while (cin.get(ch))       // quit on eof
{
          if (ch == ' ')
                  spaces++;
          if (ch == '\n')
                  newline++;
}
// Version 2
while (cin.get(ch))       // quit on eof
{
          if (ch == ' ')
                   space++;
          else if (ch == '\n')
                    newlines++;
}

第二种格式比第一种格式好在哪里呢?
推荐
这两个版本将给出相同的答案,但if else版本的效率更高。例如,考虑当ch为空格时的情况。版本1对空格加1,然后看它是否为换行符。这将浪费时间,因为程序已经知道ch为空格,因此它不是换行符。在这种情况下,版本2将不会查看字符是否为换行符。
发表于 2018-05-07 21:17:57 回复(0)