게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 다시 질문좀 드릴께요..
게시물ID : computer_10700짧은주소 복사하기
작성자 : 찌빠묵
추천 : 0
조회수 : 497회
댓글수 : 5개
등록시간 : 2011/07/06 22:02:39
문제는 대문자를 입력하여서 소문자로 출력하는것인데요 
소문자를 입력하면 대문자를 입력하라는 문구와함께 다시 입력하도록 하려합니다.

여기서 질문은요 입력할때 scanf("%c",&m); 으로하고 소문자를 입력하면 결과값이 이상합니다.
그런데 아래의 소스처럼 한칸띄고 %c를 쓰면 결과값이 제대로 나오는데요 
왜 그런지 알려주시면 감사하겠습니다.
그리고 한칸띄는것이 무엇을 의미하는지도 알려주시면 감사하겠습니다. 



#include <stdio.h>

int main (void)
{
char m,bc;
int qw;

qw=1;
m='a';

while(qw<5)
{
if('a'<=m && 'z'>=m)
{
printf("대문자를 입력하시오 : ");
scanf(" %c",&m);
}
else
{
bc=m-'A'+'a';
qw=10;
printf("%c를 소문자로 바꾸면 %c입니다.\n",m,bc);
}
}
return 0;
}




제가 올린 소스에서 scanf("%c",&m); 로 쓰고 소문자를 입력시키면 값도 이상하고 '대문자를 입력하시오.'라는 문장이 두번 출력되고 입력은 처음 한번만 되거든요 그리고 아래 프린트문이 출력되구요

그래서 이유는 모르고 배우다 언뜻 들은것이 scanf(" %c",&m); 이렇게 한칸띄고%c를 해준다는것을 들었는데요 왜 이런지와
한칸띄는것이 무엇을 의미하는지 알고싶습니다.
그리고 왜 scanf("%c",&m); 이렇게하면 결과값이 이상한지 알고싶습니다 제 생각으로는 잘 돌아가야되는데 그렇지 않네요..

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호