코딩중 막혀서 질문입니다.
좋아해
2023.04.01
질문 요약 :숫자를 입력시 2배의 숫자가 출력되도록 쉬프트연산자를 이용한 코드입니다.
조건문으로 -2의30승-1 a 2의30승 이 되도록 if문을 사용했구요.
여기서 조건안의 숫자를 입력했을시는 제대로 실행이 되는데
조건을 넘어서면 if문 내의 코드가 실행이 되야하는데 똑바로 안되네요.
int형을 넘어가는 숫자여서 그런가해서 double형을 썻는데 그럼 2개의 illegal 오류가 나옵니다.질문 내용 :
#include stdio.h
#include stdlib.h
int main(void)
{
int a;
scanf(%d,&a);
if(a-1073741825&&a1073741824) // 조건문
{
printf(다시입력하시오);
exit(0);
}
printf(%d,a1);
return 0;
}
-
별
비교 조건이 일치가 안 되네요.
입력은 int이고 비교 조건은 double이라서 그냥 지나가버리는 겁니다.
double이나 float 쓰셔야 되는게 맞구요 쉬프트연산은 다른 방법을 찾으셔야 할 듯...