我在迭代循环。在第一次迭代中,我可以在stdin上写入并获取我想要的数据。在第二个操作:名称被跳过,它要求我输入name2。为什么要跳过名字?
for (i = 0; TRUE; i++) {
printf("> nom :");
fgets(items[i].name, 15, stdin);
printf("nom: %s\n", items[i].name);
if (items[i].name[0] == '.') break;
printf("> prenom : ");
fgets(items[i].name2, 15, stdin);
printf("name2: %s\n", items[i].name2);
}
答案 0 :(得分:0)
即使在循环的第一次迭代中,您提供的代码也不会提示name
。如果你得到任何提示,那么在进入循环之前就会发生这种情况。相反,提供的代码会提示name2
。
循环的每次迭代都从读取下一个name
(不提示)并打印它开始。如果您看到不同的行为,那么您正在运行不同的代码。