char형 문자 입력 문제
빛길
질문 제목 : char형 문자 입력 문제 다른건 다 잘되는데 char형을 입력하기위해 1번을 눌렀는데 자동으로 출력되요.
질문 내용 :
char형을 받을때는scanf(%c,&a.ch_a);
이렇게 받는거 같은데 왜 문제가 생길까요#include stdio.h
union a{
char ch_a;
short sh_a;
int int_a;
double db_a;
};
void main(){
union a a;
int i;
puts(1. char);
puts(2. short);
puts(3. int);
puts(4. double\n\n);
puts(-------------);
printf(숫자를 입력하세요:);
scanf(%d,&i);
switch(i){
case 1:
printf( char형 문자를 입력하시오:);
scanf(%c,&a.ch_a);
printf(char : %c\n,a.ch_a);
printf(short : %d\n,a.sh_a);
printf(int : %d\n,a.int_a);
printf(double : %.4lf\n,a.db_a);
break;
case 2:
printf( short형 숫자를 입력하시오:);
scanf(%d,&a.sh_a);
printf(char : %c\n,a.ch_a);
printf(short : %d\n,a.sh_a);
printf(int : %d\n,a.int_a);
printf(double : %.4lf\n,a.db_a);
break;
case 3:
printf( int형 숫자를 입력하시오:);
scanf(%d,&a.int_a);
printf(char : %c\n,a.ch_a);
printf(short : %d\n,a.sh_a);
printf(int : %d\n,a.int_a);
printf(double : %.4lf\n,a.db_a);
break;
case 4:
printf( double형 숫자를 입력하시오:);
scanf(%lf,&a.db_a);
printf(char : %c\n,a.ch_a);
printf(short : %d\n,a.sh_a);
printf(int : %d\n,a.int_a);
printf(double : %.4lf\n,a.db_a);
break;
}
}딴건 잘 되는데 char를 하기위해 1을 입력하면에러는 아니지만 자동으로 나옵니다.