好吧,首先,我是一個編程的業餘愛好者,我想嘗試一些東西。我想製作一個C程序,它將讀取一行,然後如果這些字符被接受,以便在字符有效或不有效時打印「接受」或「拒絕」。在打印結果前閱讀整行
所以我用了一個while循環和一些if-else如果添加可行的字符。可行的字符是字母表中的字母',''。 '/''['']'。問題是,在我輸入整行後,它爲行上的每個字符打印ACCEPTED和REJECTED。我怎樣才能讓程序先讀全行,然後打印結果?
#include <stdio.h>
int main(void) {
char c;
c=getchar();
while(c!=EOF) {
while (c!='\n') {
if (c>='a' && c<='z') {
printf("OK!\n");
}
else if(c==','|| c=='.' ||c=='/') {
printf("OK!\n");
}
else if(c==']'||c=='[') {
printf("OK!\n");
}
else {
printf("ERROR!\n");
}
c=getchar();
}
c=getchar();
}
}
歡迎來到SO。請閱讀[問]和[幫助]如何提問。也許顯示你的代碼? – OldProgrammer
很高興聽到您爲此編寫了一個程序。你能發佈該代碼來幫助我們回答你的問題嗎? – haccks
你所描述的症狀適合於在'for'循環裏面有'printf'語句。正如其他評論者所說,如果您向我們展示代碼,我們可以直接回答您的問題。 –