GCC 에서 fflush()가 안먹어요..

E_Dn의 이미지

제가 아래와 같이 코드를 작성했습니다만...
fflush()함수를 말끔이 무시해버립니다...
제가 틀린건가요?
비주얼 스튜디오 2008버전에서는 잘 되던데..

#include<stdio.h>
int main(void)
{
	int age;
	char name[20];
 
	printf("나이를 입력 : ");
	scanf("%d", &age);
 
	fflush(stdin);
 
	printf("이름을 입력 : ");
	fgets(name, sizeof(name), stdin);
 
	printf("%d \n", age);
	printf("%s \n", name);
 
	return 0;
}
익명 사용자의 이미지

fflush()는 output stream에서만 표준에 정의되어 있습니다. input stream의 경우에는 undefined behavior로 알고 있구요. 특정 컴파일러 내지 라이브러리 구현에 의존적이지 않은 동작을 원하신다면 다른 방법을 찾으셔야 할 겁니다.

E_Dn의 이미지

혹시나 해서 여기도 올려보고 지식인에도 올리고 해외 리눅스 커뮤니티에도 올렸는데 역시 여기가 제일 짱이네요 ㅋㅋ
감사합니다 고수님~!

canuyes의 이미지

getchar() 를 사용해 보심이 어떨까 합니다.

E_Dn의 이미지

감사합니다 ㅎㅎ