int형 변수의 값을 char형 변수로 대입을 어떻게 하나요?
든해
어제 올린 질문에 수다님이
비주얼 c++는 char 형 변수이더라도 int와 같은 크기로 메모리에 할당한 뒤에 char 형의 크기만큼만 사용합니다. 그래서 %d로 입력받더라도 문제가 없는데요. devc++는 그렇지 않고 char형의 크기 만큼만 할당해주는데 %d를 통해 입력받으면 int형의 크리만큼을 입력해주기 때문에 해당 변수와 인근에 있는 변수의 값을 침범하게 됩니다. 임시 int 형 변수에 입력받은 뒤에 char형 변수로 대입하는 과정을 거치세요.
라고 답변을 해주셨는데 어떻게 하는지를 모르겠네요질문 요약 :.int형 변수의 값을 char형 변수로 대입을 어떻게 하나요?질문 내용:
수정전
/* char_add.c */
#include stdio.h
int main(void)
{
char a, b;
char result;
printf(-50 이상 +50 이하의 수 둘 입력: );
scanf(%d %d, &a, &b);
result=a+b;
printf(두 수의 덧셈 결과: %d \n, result);
return 0;
}
수정후
/* char_add.c */
#include stdio.h
int main(void)
{
int a, b;
char c=a, d=b;
char result;
printf(-50 이상 +50 이하의 수 둘 입력: );
scanf(%d %d, &a, &b);
result=c+d;
printf(두 수의 덧셈 결과: %d \n, result);
return 0;
}
이렇게 해봐도 안 되는데 dev-c++에서 대입하는 소스좀 보여주실수좀^^;;