这就是代码,它很简单,但是为什么fgets
在第一个循环之后没有再次提示?和年龄。(奇怪的是它适用于scanf("%s",&name_temp)
但我也需要抓住其他字符,如áéíóúÇ,空格,所以它会更好fgets
)
int menu_option = 0;
char name_temp[80] = "";
int age_temp = 0;
while(menu_option != 9){
//strcpy(name_temp,"");
printf("Type your name\n");
fgets(name_temp, 80, stdin);
printf("\nType your age\n");
scanf("%d", &age_temp);
}
(从已删除的答案中移出)
伙计们感谢您的回答,但我认为你们不理解我的问题,测试我发送的这段代码,您会看到它并没有出现在终端中供您输入,而是在第一次之后被忽略while 循环。
我想要的是在第一个循环(while)之后它回来并再次询问该人的姓名,并且使用该程序的人必须再次输入。但不是那样,在第一次循环之后,它只是不要求您输入任何内容, fgets 被完全忽略。
请尝试代码并说出我能做什么。
我尝试了 freopen 的东西,但没有奏效。