코드가 매우 간단하지만 첫 번째 루프 이후에 fgets
메시지가 다시 표시되지 않는 이유는 무엇입니까? 나이는이다.Fgets C 프로그래밍을 한 번 실행 한 후에 무시됩니까?
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);
}
은 (삭제 된 답변에서 이동) (그리고 이상하게 그것은 scanf("%s",&name_temp)
와 함께 작동하지만 너무 áéíóúÇ, 공간과 같은 다른 문자를 잡기 위해 필요, 그래서 fgets
에 더 좋을 것이다)
여러분의 답변에 감사드립니다.하지만 여러분이 내 질문을 이해하고, 내가 보낸이 코드를 테스트했다고 생각하지 않습니다. 입력하는 터미널에 나타나는 대신에 무시해도된다는 것을 알게 될 것입니다. 첫눈에 후 피.
내가 원했던 것은 첫 번째 루프 (while) 이후에 다시 돌아와서 사람의 이름을 물었고 프로그램을 사용하는 사람이 다시 입력해야한다는 것입니다. 하지만 그 대신 루프의 처음 이후에 아무 것도 입력하지 말고 fgets는 완전히 무시됩니다.
코드를 시도하고 내가 할 수있는 말을하시기 바랍니다.
나는 freopen 것을 시도하고 작동하지 않았다.
질문 후에 [간단한 간단한 질문]을 입력 할 필요가 없습니다. –
@user 참고 : markdown은 인용 부호 ('>'사용)와 코드 블록 (4 개의 공백 사용) 사이의 형식을 구분하며, 프로그래머는 대소 문자를 식별자 철자의 일부로 간주하므로 "Fgets"는 "fgets"와 동일합니다. – dmckee
작동하지 않는 대답을 수락해서는 안됩니다. –