如图,c语言做了个for循环scan(),结果为什么顺序会跳?
展开全部
你个scanf接收字符输入,每次输入字符后回车,回车也算一个字符,被下一次循环scanf直接接收了,所以才会跳。
解决方法很多,比如:
一、在每次输入完毕后,用scanf或getchar或getch把回车符号接收掉。
二、在每次输入完毕后,用fflush清除输入缓冲区。
下面是演示代码:
#include<stdio.h>
int main()
{
int i;
char c;
//方法一:for(i=0;i<5;++i,scanf("%c",&c))
//方法二:for(i=0;i<5;++i,getchar())
//方法三:
for(i=0;i<5;++i,fflush(stdin))
{
printf("char%d:",i);
scanf("%c",&c);
printf("%c\n",c);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询