Итак, это код, он довольно прост, но почему 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);
}
(перенесено из удаленного ответа)
Ребята, спасибо за ваши ответы, но я не думаю, что вы, ребята, поняли мой вопрос, проверьте этот код, который я отправил, и вы увидите, что вместо того, чтобы в Терминале отображалась вещь, которую вы должны ввести, она просто игнорируется после первого пока цикл.
Я хотел, чтобы после первого цикла (в то время как) он возвращался и снова запрашивал имя человека, и человек, использующий программу, должен был печатать снова. но вместо этого, после первого раза цикла, он просто не просит вас ничего печатать, fgets полностью игнорируется.
Пожалуйста, попробуйте код и скажите, что я могу сделать.
Я пробовал freopen и не работал.
>
) и блоками кода (с использованием четырех пробелов), и обратите внимание, что программисты считают регистр частью написания идентификаторов, поэтому Fgets не то же самое, что fgets. - person dmckee --- ex-moderator kitten   schedule 20.03.2011