IF문 질문입니다....IF(!a)

익명 사용자의 이미지

IF(!a)는 a가 0일때 라는 소리인가요?
아님 a가 0이 아닐때 라는 소리인가요?

너무 헷갈립니다. 고수님들 부탁드리겠습니다.

익명 사용자의 이미지

if 문은 안에 것이 참이되면 동작하게 됩니다.

그리고 !은 현재 값의 부정입니다.

그러므로 즉, if ( a ) 라면 a 가 참이되면 실행이 되는 거구,

if ( !a ) 라면 a가 거짓이라면 실행이 되겠죠. 거짓의 부정은

참이니깐요. 그럼 고운 하루...

익명 사용자의 이미지


프로그래머의 취향인데
변수만 달랑 쓰는 것을 좋아하지 않지만
같이 일을 하자면 익혀두는게 좋겠지요.

----------------------------------------
IF (a) 는 IF (a != 0)과 같은 구문이고
IF (!a)는 IF (a == 0)과 같은 구문입니다.
----------------------------------------

C언어를 설계할때 포인터값이
"0이면" 잘못된 포인터(거짓)고,
"0이 아니면" 정상적인 포인터(참)이므로
이러한 구문 형태를 허용한것 같습니다.

> IF(!a)는 a가 0일때 라는 소리인가요?
> 아님 a가 0이 아닐때 라는 소리인가요?

익명 사용자의 이미지