當我運行這個程序並給出laks作爲輸入時,我得到了laks作爲輸出加上一個額外的字符。如果我想盡快打破程序行被輸入,即當我按下輸入時,我希望循環停止,但聲明似乎不工作。當我使用printf作爲字符數組時,我得到了一個額外的和不同的字符
# include <stdio.h>
# include <conio.h>
# include <ctype.h>
void main()
{
clrscr();
char person[5];
int i;
printf("enter person name \n");
for(i=0;i<5;i++)
{
scanf("%c",&person[i]);
//while(person[i]!='/n')
}
printf("%s",person);
getch();
}
請注意,它是「\ n''而不是''/ n''是換行符。由於這是評論,這不是你當前問題的一部分。 – 2015-02-23 07:03:21
是否有原因,你沒有使用if(scanf(「%4s」,person)!= 1)return 1;'代替循環? – 2015-02-23 07:06:37
是的,我注意到只有發佈後。 – venkat 2015-02-23 07:13:06