-5
printf("Give name: ");
fgets(name, 50, stdin);
printf("Give surname: ");
fgets(surname, 50, stdin);
所有这一切都是在一个循环及以后的第一次,它打印命令给名字,那么完全跳过它,并打印命令给姓。循环是无止境的,而(在我的代码它与断裂出来;和一小会儿后,结束):2与fgets一前一后,第一个被后第一时间跳过
while (1) {
printf("Give name : ");
fgets(name, 50, stdin);
printf("Give surname: ");
fgets(surname, 50, stdin);
printf("Give ID: ");
scanf("%d", &ID);
}
而且name
和surname
是数组。为什么跳过第一个名字?
编辑:
你是对的。下面我有一个scanf
他们的ID
号码,完全忘了用getchar
摆脱\n
这个角色。感谢您的快速回复。
你在干什么* *前的循环?您是否在使用例如'scanf'读取其他一些输入? –
最有可能的原因是,您的实际循环包含更多未在此处发布的代码。请仅发布您测试过的代码。 – interjay
欢迎来到Stack Overflow!你介意创建一个[___MCVE___](http://stackoverflow.com/help/mcve)? –