[英]print each word on a new line
我想在一個新行上打印每個單詞。 我已經掃描了一個空格,然后打印了新的一行。 它可以輸出有時刪除一些字母:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int nextChar;
nextChar = getchar();
while (ch != EOF) {
if (ch == ' ') {
putchar('\n');
}
else {
putchar(ch);
}
ch = getchar();
}
return 0;
}
比如輸入: hello how are you
輸出:
hello
how
are
you
這里的問題是你將第一個char值nextChar
變量並使用ch
變量。 要糾正嘗試下面的內容:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch = getchar();
while (ch != EOF) {
if (ch == ' ') {
putchar('\n');
}
else {
putchar(ch);
}
ch = getchar();
}
return 0;
}
int nextChar; nextChar = getchar();
上面提到的線條顯然是你面臨這個問題的原因。 它會將第一個字符存儲在nextChar變量中,但是你永遠不會最終使用它。 因此,輸入中的其余字符按預期工作。 在其余的句子中它工作正常,因為上面提到的無用的行不在while循環的范圍內,實際上工作正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.