본문 바로가기

김탱 개발자/C/C++

if문과 return값

프로그래밍 하다보면 리턴값을 사용하여 에러or정상인지를 보내게 되는데


정말 단순히 생각해서 TRUE = 참 , FALSE = 거짓 으로 정상은 TRUE=1 을 보내고 에러는 FALSE=0 을 보냈었다..


그리고 그냥 편하게 아래 처럼 쓰곤했는데..

if( Function() )

    정상

else

    에러


문득 다른사람들은 어떻게 쓸까해서 검색해봤더니 틀린건 아니지만 약간 다르게 사용한다..


보통 아래와 같이 사용한다고 한다.


FALSE 0 : 정상 종료

-1 : 에러 발생

1 이상 숫자 : 정상 종료되었으나, 코멘트 있음

-1 이하 숫자 : 에러 발생되었으나, 코멘트 있음



그리고 if( Function() )은 1 일때만이 아니라 0이 아닌 모든값일때 조건이 실행된다.


결과적으로는  if( Function() ) 을 정상종료 조건으로 사용하기 위해서는 나처럼 에러코드를 보내야만 하는거였다.



결론.

 if( Function() ) 이렇게 쓰지말자

 if( Function()==1) or  if( Function() ==0 ) 명확하게 쓰자


에러 보내는것도 0을 정상종료로 바꾸든가 해야겠다 =_=