|
Lyn 님이 쓰신 글 :
: 별다른 이유는 없습니다.
:
: == 연산 자체가 숫자를 대상으로 할 경우 문자열로 로 변환한 값과 비교 하게 되어 있기 때문입니다.
: NULL은 0이구요
:
: 그래서 0을 문자열로 바꾼값과 비교 해 주는것 뿐입니다..
:
: C++Builder 문자열의 서비스라고나 할까요. 숫자 비교할때마다 IntToStr 일일히 호출 하는거 귀찮으니까
:
: 냉큼이 님이 쓰신 글 :
: : 예전에 관련된 내용을 찾아본 기억이 있는데
: : 다시 찾아보려고 하니 검색이 힘들어서 질문글을 올립니다.
: :
: : String str = "0";
: : if (str == NULL)
: : {
: : ShowMessage("1");
: : }
: : else
: : {
: : ShowMessage("2");
: : }
: :
: : 위와 같이 작성한 후 결과를 보면
: : 2가 출력될거라고 생각했던것이
: : 1로 출력이 된단말이죠.
: :
: : 스트링의 비교를 이런식으로 써보지 않았었기에
: : 결과에 당황하게 되었습니다.
: : 왜 이런 결과가 나오는 것이죠?
: : 가르침을 부탁드립니다.
|