부호를 바꿔주는 코드 작성했는데요!
앤드류
2023.04.01
질문 제목 : 부호 바꿔주는 코드 작성했는데요~질문 요약 :결과가 이상하게 나와요..질문 내용 :1을 넣으면 -1이나오고 19넣으면 -19나오는 이런 코드입니다 아주간단한..int num;
int result;
int a = 0;
num = 0; while (a 10) {
printf(입력한 숫자의 부호를 반대로 변환 합니다.\n 숫자를 입력 하십시오.\n);
scanf_s(%d, &num); result = (~num + 1); //2의 보수법 printf(%d\n, result);
a++;메인함수 내에 이렇게 작성했는데
결과가 작은 숫자를 넣었을때는 정상적으로 작동하는데
이렇게 이상한 숫자가 나와요!!
왜그런지 이유를 알고싶어요!!
-
다힘
아 되네요!! long long 형으로 선언하면 입 출력을 %lld로 해줘야 하는군요!! 감사합니다!
-
세리
scanf_s(\%d\
-
겨라
%I64d
로 출력해야 됩니다. -
파이팅
그런 것 같아서 long long 으로 바꿔서 표현할 수 있는 범위내의 숫자로도 해봤는데 이상한 결과가 나와서요...
-
싸리
int의 범위가 한정되있기 때문이죠..