#incldude <stdio.h>
int main(void)
{
char ch='A';
printf("%d \n",ch);
return 0;
}
이건 65가 나오구요
#incldude <stdio.h>
int main(void)
{
char ch;
scanf_s("%d",&ch);
printf("%c \n",ch);
return 0;
}
여기서 65입력 하면 A가 나오긴 하는데
Stack around the variable 'ch' was corrupted 오류가 떠요 둘이 같은 크기 데이터 저장하는 건데 왜 밑에 것만 오류가뜨나요?
그리고 마지막으로
int main(void)
{
char ch;
scanf_s("%c",&ch);
printf("%d \n",ch);
return 0;
}
이건 A를 입력하면 65가 안나오고 0이뜨네요
다른문자를 입력해도 모두 0이 뜨는데 이유가 뭐죠?
님? 2번은 scanf에서 입력받는 크기가 int형으로 4byte인데 char은 1byte잖슴 어거지로 집어넣으니 에러
3번은 scanf_s 사용법이 scanf랑 다름 뒤에 저장될 공간을 알려줘야함. scanf_s("%c", &ch;, sizeof(ch)); 이렇게 써야함
2번 내가봐도 이상하게 쓴거같아서 다시씀 int형 받아서 char에 저장하는거잖슴?? 근데 집어넣을 크기가 담을 그릇보다 더커서그럼