관계연산자
한결
2024.03.17
질문 제목 : 관계연산자질문 내용 :
/* op7.c */
#include stdio.h
int main(void)
{
int val1=10;
int val2=12;
int result1, result2, result3;
result1=(val1==10 && val2==12);
result2=(val112 || val212);
result3=(!val1);
printf(result1 : %d \n, result1);
printf(result2 : %d \n, result2);
printf(result3 : %d \n, result3);
return 0;
}
여기서요. result3=(!val1); 프로그램실행하니까 이부분이 false 0이라고 뜨던데
result3=(!val1==3); 뭐 이런식으로 되있어야 true - false 라고 되는거아닌가요?
result3=(!val1); 이게 무슨말이죠 ?ㅜㅜㅜ
-
미투리 2024-03-17
아 ~ 0이 아닌 수는 0으로 변환되군요 ! ㅋㅋㅋ고마워요
-
허리품 2024-03-17
! 연산자는 부정연산자로 0을 1로, 0이 아닌 수를 0으로 변환합니다.
그러므로 val이 0이면 result에는 3이 대입되고, val이 0이 아닌 수이면 1이 대입됩니다.