在打印“第二文本”之后,getchar
希望我输入 string ,但是程序总是被停止。当我尝试通过#include <stdio.h>
int main()
{
char c[100],cc;
int x;
printf("First text\n");
scanf("%d",&x);
printf("Second text\n");
fgets(c,100,stdin);
//scanf("%c",&cc);
//cc=getchar();
printf("\n %s %d",c,x);
}
或functions/admin
输入字符时,就会发生这种情况。发生什么事了?
functions/index.js
答案 0 :(得分:1)
您可能在输入数字后按“输入”; scanf
随后将读取该数字,但会在缓冲区中保留一个'\n'
(即换行符表示“ enter”);然后gets
会将其视为“空”行。 (顺便说一句:使用fgets
代替gets
)。
为了克服这个问题,请在单行中输入数字和文本,并用空格分隔(即,中间不要使用换行符)。