안녕하세요 C언어를 막 시작한 학생입니다. 비트연산자를 이용해서 음수를 구하는 코드를 문제를 푸는데
#include <stdio.h>
int main(void){
int num1;
int num2;
scanf("%d",&num1);
num2= (~num1)+1;//비트 연산자보다 더하기가 먼저 더라고요?
printf("%d",num2);
return 0;
}
저같은경우 변수를 2개나 선언해서 문제를 풀었습니다. 저 코드도 산술연산자가 비트연산자보다 먼저 행해진다는 걸 몰라서 왜안되지 하다가 변수 3개선언하다가 다시 돌아온겁니다. 그런데 정답은 충격적이게도
#include <stdio.h>
int main(void)
{
int num;
printf("정수입력;");
scanf("%d", &num);
num=~num;
num =num+1;
printf("부호를 바꾼 결과:%d\n", num);
return 0;
}
으로 변수를 하나만 선언해서 풀었더라구요....
저는 이런생각이 전혀 떠오르지않는데요.. 이게 익숙하지 않아서 그런걸까요? 아님 자질이 부족해서 그런가요?