비트 이동 연산을 이용하여 문자 4개를 받아서 하나의 unsigned int형의 변수 안에 저장하는 프로그램을 작성하라.
이걸 공부좀 하려다가 막혀서 인터넷 검색을 해봤는데
#include <stdio.h>
int main(void)
{
char a,b,c,d;
unsigned int result = 0;
printf("첫번째 문자 : ");
scanf_s("%c",&a);
printf("두번째 문자 : ");
scanf_s(" %c",&b);
printf("세번째 문자 : ");
scanf_s(" %c",&c);
printf("네번째 문자 : ");
scanf_s(" %c",&d);
result |= a | ( b << 8 ) | ( c << 16 ) | ( d << 24); // 여기서 |=의 뜻이 뭔가요?
printf("결과값 : %u\n",result);
return 0;
}
네이버나 구글에 |=쳐봐도 나오는게 없더라구여 ㅠㅠ !=는 알겠는데 저게 뭔지..
그리고 저렇게 하니까 결과값이 0이 나오는데 이유가 뭘까요?