我有一个限制,需要逐个字符读取输入字符串。因此,在每个字符串后面检查
以下是我在一段非常简短的代码中遇到的问题:
在上面的代码中,
输入样例:
\n
。但程序没有终止。以下是我在一段非常简短的代码中遇到的问题:
#include <iostream>
using namespace std;
int main()
{
char c;
while(cin >> c)
{
char x;
cin >> x;
while(x != '\n')
{
// print the characters
cin >> x;
}
}
return 0;
}
在上面的代码中,
c
将会得到字符串的第一个字符,而x
将一个接一个地得到其余的字符。输入样例:
banananobano
abcdefhgijk
Radaradarada
while
循环?内部循环不会终止,因为你没有在其中更改x
。 - PcAFcin >> c
(其中c
是一个char
)将跳过所有空格(包括换行符)。 - Jerry Coffin