#include <stdio.h>
int main()
{
char a,b,result;
printf(\"-50이상 +50이하의 수둘을 입력: \");
scanf(\"%d %d\",&a,&b);
result=a+b;
printf(\"결과는 %d\\n\",result);
return 0;
}
스택의 변수 a가 문제라면서 오류가 뜨는데 당췌 알수가 없네효 ㅠㅠㅠ
안됩니다요 형님 이것은 char만 써야하는 문제입니다요
왠지 전에 이런걸 여기서 본것같어..
그럼 %c를 쓰던가..
char를 이용한 숫자계산문제에요...바꿀순없음..
dev -c++ c언어로 변환해서 컴파일은 했는데 오류는 안뜬다 . ANSI C(99) 제2차 표준 규약설치된 컴파일러 설치해 쉽게 말해서 최신버전에 컴파일 구버전이라서 지금 배우는 약어들이 안먹히는걸꺼야. 그리고 이상한게
컴파일 실행은되고 처음 프린트문에서 입력을 받게 해주는것까지는 되는대. 그뒤로 밑에 프린트문이 안들어간다
긍까 제말이 오류안나는데 실행하면 오류가 생긴다는고임..
지금확인했는데. cin 아쉣 scanf 함수의 입력값을 초기는 니가 char로 정해놔서. 문자를 입력시켜야해. 그러면 밑에서 다시 int형으로 변환되서 나온다.
다시말해서. 초기 변수값을 char로 입력했어. 그 값을 입력받는거야. 즉 a 를 넣어서 그 밑에 그 a가 들어간 자료를 int형으로 되바꿀려는거야. 결국 너가 잘못생각한게
char 변수를 선언하고 바로 int 형타입으로 바꿔지는줄 알고 숫자를 넣어서 오류가 뜬거야. 일단 a를 입력하면 정확히 a의 아스키코드값이 나온다.
그런대 지금 다시 소스를 보니깐 이상한데 모든값이 -14를 가르키고 있어
char 도 정수 계산이 다된다는데여.
char 로 입력받은값이 \'영어로 표기되어 전환되지만 아스키나 유니코드값이 따로정해져있어서 그걸로 계산이 된다는걸꺼야.\' 기달
char가 8비트니까 255 니까 대충 127정도까진 카바될텐데
제가 원하는건 정수들의 계산임..
오....
누가 낸 문제냐. 저런 계산을 char 형만으로 하라는 발상 자체가 변태.
그럼 long형을 썼을때는 scanf는 어떻게 인식하는건가요
답이 안나오는 이유는 위에 Azurespace 횽이 설명한대로고, 해답은 스미골햏 횽이 쓴대로 하면 게임 끝. 정 char 를 써야겠다면, 아예 숫자가 아닌 문자열 타입으로 입력받아서 atoi 로 바꿔서 계산하게 하등가..
long은 관계 없지
작은데가 큰거 쑤셔넣으니까 에러뜨는거임..
어셈으로 한번 생각해보면 왜그러는지 딱 나오는데...