scanf에 대해서
글쓴이: dio8272 / 작성시간: 월, 2015/05/04 - 4:05오후
c언어를 막 배우기 시작한 입문자인데요 책에서 나온 예제에서 궁금한점이 생겨서 질문합니다.
#include
int main(void)
{
char letter;
while(1)
{
printf("소문자를 입력해주세요:");
scanf(" %c",&letter);
if (letter == '0')
break;
if (letter<'a' || letter > 'z')
continue;
letter -= 32
printf("변환된 대문자는 %c입니다.\n",letter);
}
return 0;
}
이란 예제에서 scanf를 보면 scanf(" %c",&letter); 인데요 %c앞에 공백을 넣지 않으면 '소문자를 입력해주세요' 라는 문장이 두번출력되고 입력을 받을 준비를 합니다.
%c의 앞에 공백을 넣으면 정상적으로 문장이 하나만 나오고 입력을 받을 준비를 합니다.
예제의 주석에선 '공백 문자 제외' 라고만 나와있어서 저 %c 앞의 공백은 정확히 무슨 역할을 하며 왜 공백이 없으면 문장이 두번 출력되는지 질문해 봅니다.
Forums:
단서는 "엔터키 역시 문자의 하나로 취급되다"는 것
단서는 "엔터키 역시 문자의 하나로 취급되다"는 것 입니다.
내 블로그: http://unipro.tistory.com
댓글 달기