getchar() 함수로는 문자하나만 입력을 받는데..
사용자가 a를 입력하면.. a와 ( 인가?? 둘중하나 ^^)을 입력하는거랑
같에서.. a가 변수 c에
들어가고..
남은 값인 이 뒤의 gets(s)의 s에 들어가게 되고..
gets() 함수는 이미 입력받았으니
실행을 안하게 됩니다..
: 4.c
:
: #include <stdio.h>
:
: main()
: {
: char c;
: char s[20];
:
: c = getchar();
: printf("c = %c", c );
: gets(s);
: printf("s = %s", s );
: }
:
:
: 저런
간단한 코드가 있습니다.
:
: 그런데 실행하면
:
: $ 4 <-- 실행
: a <-- a (엔
터)
: c = a <-- c 출력
: s = <-- gets 가 기능해야하는데 웬 printf ?? Oo;;;
:
:
:
: 웃
긴건.. getchar 와 gets 의 순서를 바꾸면 제대로 작동
: 하는 겁니다. 아.. 이를 어찌 하오리까.
. -.-
:
: cygwin 에서 작동시킨 겁니다.