int ch1;
printf("아스키 문자 입력: ");
scanf("%c", &ch1);
printf("%d", ch1);
int ch1 = 'A';
printf("%d", ch1);
위 코드와 아래 코드는 같은 것 아닌가요?
위 코드는 논리적 에러가 뜹니다.
이유 좀 알려주세요
int ch1;
printf("아스키 문자 입력: ");
scanf("%c", &ch1);
printf("%d", ch1);
int ch1 = 'A';
printf("%d", ch1);
위 코드와 아래 코드는 같은 것 아닌가요?
위 코드는 논리적 에러가 뜹니다.
이유 좀 알려주세요
scanf 입력으로 A 입력했고?
넵
출력 각각 뭐나옴
쓰레기값하고 65 뜹니다!
해당 댓글은 삭제되었습니다.
4바이트중에 1바이트만 할애해서 쓰는건 괜찮지 않나용?
엔디안 문제인가?
아 나머지 바이트를 미느냐 차이가있구나
int ch1; < 이거 char ch1 로 바까야되는거아님?
그러면 밑 코드도 쓰레기값이 떠야하는거아닌가요?
scanf("%c", &ch1); 여기서 문제생길것같은데 위에서 말한것처럼 엔디안 문제 맞음
해당 댓글은 삭제되었습니다.
그런데 초기화하고 입력하면 왜 해결되는걸까요? 4바이트중에 1바이트만 할애하는 건 같은데
아 그러면 엄청 큰 정수로 초기화하면 다른 값이 나올 수도 있겠네요?
int가 아닌 char형으로 변수 선언하면 오류가 안나는 이유를 정확히 알게되었네요. 감사합니다!
이해됐습니다
설명해주신 모든분들 감사합니다!!!