我有以下代碼。我以爲我一次只能輸入一個字符。但即使我在一行中輸入喜歡的字符串作爲輸入,它也能正確接受。爲什麼是這樣?它與標準輸入緩衝區沖刷問題有關嗎?當指定的格式是字符時接受字符串
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
int main()
{
char sourceString [100];
int index=0;
printf("Enter the characters one by one enter * to stop\n");
do
{
scanf("%c",&sourceString[index]);
index++;
} while (sourceString[index-1]!='*');
index=0;
while (sourceString[index]!='*')
{
printf("%c",sourceString[index]);
index++;
}
printf("\n");
return(0);
}
「如果我給一個字符串像hello作爲一行輸入,它會正確接受」 - >這與你所期望的不同嗎? – chux