Resolved
Written on
·
179
0
지금 여기서 버퍼가 있는걸 없애주기 위해서 while(getcharo()!='\n') continue;를 한다라고 말씀하셨는데요
헷갈려서 제가 while문 사이에 printf("두개의 정수를 입력하세요");를 두었는데요 getchar과 scanf를 따로 보기위해서
일단 c=getchar에 #을 입력하면 버퍼엔 #과 \0가 남아있을텐데 일단 #을 불러드리고
두개의 정수를 입력하세요: 2 2 그리고 여기서 getchar()!='\n'이 나오는데
지금 일단 큰 while문은 c에 #만 들어간상태 아닌가요? \0은 보지 않고요. 큰 와일문이 다 끝나고 그 이후에 \0가 들어가야하는데 큰 while문 조건에서 못들어가게되는거아닌가요?
이게 좀 헷갈립니다
장황하게 써서 제가 무슨말 하는건지 헷갈리시다면 댓글 부탁드립니다...ㅠㅠ
Answer 2
0
다음 사람을 위해서..)
글쓴이는 while 조건에 있는 while((c = getchar()) != '\n')에서 # + 엔터키(\n)을 누른 상태.
문자 '#'은 while((c = getchar()) != '\n')에서 읽어진 상태이고 나머지 문자 '\n'는 두 번째 while문의 continue부분에서 읽혀짐.
0