getchar 함수 출력과 왜 int형으로 선언하는지 궁금합니다.
겨울c
2023.04.01
질문 내용 : getchar 함수 출력과 왜 int형으로 선언하는지 궁금합니다.
#includestdio.h
int main()
{
int ch;
char str[10];
ch=getchar();
gets(str);
printf(%s \n, str);
return 0;
}
제가 이런코드를 짰는데,
getchar() 함수는 문자를 입력받는걸로 알고있는데, 왜대입할 장소를 int형으로 하는건가요?? 문자 문자열 관련되면
다 char형으로 하지 않을까요??
그리고 출력결과가.
AAAA 를 치면은,
AAA 가 출력이 되는데getchar 함수는 문자 출력이라 문자 하나만 출력되는줄 알았는데 입력에서
하나를뺀AAA만 출력이 되더군요,, 이건 왜그런건가요..?
getchar() 함수는 문자를 입력하고 엔터를 누르는 순간 입력 버퍼로 들어거 \n 가 문자열로 남아있어서
다음 gets(str) 함수의 입력기회를 놓치게 되는건 알고있는데.. 위의 2개를 모르겠네요