int main()
{
char str[20];
printf("정수입력 : ");
fgets(str, sizeof(str), stdin);
while (getchar() != '\n');
puts(str);
}
이렇게짜면 왜 2번입력하게끔나옴? 원래 1번입력해야되는거아님????
int main()
{
char str[20];
printf("정수입력 : ");
fgets(str, sizeof(str), stdin);
while (getchar() != '\n');
puts(str);
}
이렇게짜면 왜 2번입력하게끔나옴? 원래 1번입력해야되는거아님????
getchar()
잘못적엇네 getchar('\n') 이라고적엇엇음
getchar() 자체가 입력받는 함수
저거 입력버퍼체크하는용도라 글자수제한넘어갈때뺴곤 의미없는거아니엿음?
gets == string을 받는 함수 getchar == char 를 받는 함수
fgets에서 엔터키 입력버퍼 체크하려면 while(gets() != '\n'); 이렇게해야함???
gets 는 getchar 안써도 됨 scanf나 쓰는거지
char perID[7]; fputs("6 : ", stdout); fgets(perID, sizeof(perID), stdin); while (getchar() != '\n'); puts(perID);
이럴땐 쓰던데..
이해햇다 고마워
당연히 두번돌지
왜?????????
getchar때문에그런거임??
응? 수십번도 더 되지 않음?
ㄴㄴ딱2번돔
잘못적엇엇네 수정함 쏘리
엔터맞다
애초에 fgets는 라인 단위로 읽어오잖아 ㅇㅅㅇ 뒤에 getchar가 웨 필요함
fgets 입력 버퍼에서 '\n' 까지 읽어버리니까 getchar 수행할 시점에선 이미 입력 버퍼에 '\n'이 없음 ㅇㅅㅇ 그래서 2번 입력해야하는거
아니 입력 스트림
그니까 첨에 입력할때 \n이 없으면 무조건 2번입력임??
아 이해함 ㄳ