我有這樣的代碼:爲什麼它忽略了第二字符
#include <stdio.h>
#include <ctype.h>
int main()
{
char x;
printf("Program shows your name and check if the first letter is capital");
while (scanf_s("%c", &x) !=1 || getchar() !='\n')
{
if (islower(x))
{
printf("Name begins with a capital letter\n");
while (getchar() != '\n')
;
}
else
{
printf("%c", x);
}
break;
}
while ((x = getchar()) != EOF)
{
printf("%c", x);
}
return 0;
}
例如: 當I型「馬修」的結果是「Mtthew」。怎麼了?我沒有任何線索。 我試圖改變幾乎所有的第一個「雖然」,但我認爲這個問題不存在。有任何想法嗎?
3 while while循環的功能?也許你應該考慮重寫它 – Idos
如果你將它與EOF比較,你應該聲明x爲'int'。另外'int main()'應該是'int main(void)'。 –
不知道,但我認爲其他人必須在其他區塊 – Cherubim