c, c++ 코드에 대한 설명을 부탁드립니다.
글쓴이: 익명 사용자 / 작성시간: 목, 2002/06/06 - 1:55오전
================================================================
char *str;
// ...
if (! str, "hello") // <-- 이 부분입니다.
{
// ...
}
// ...
================================================================
이 부분이 이해가 가질 않습니다.
어떤 의미를 가지는지 설명 부탁드립다.
Forums:
Re: c, c++ 코드에 대한 설명을 부탁드립니다.
흠냐흠냐..
if (! str, "hello")
{
}
라는 코드가 가능한가? --;;
이건 문법적으로 불가능한 것 같은데..
혹시 이 코드의 실수 아닐까 싶네요
if ( !strcmp(str, "hello"))
{
}
if ( statement )
인데.. 위의 (!str, "hello")는 두개의 statement 인것 같은데..
암튼, 제가 보기엔 잘못된 코드 입니다.
다른 고수님들의 의견은 어떨지 궁금하네요. ^^
(저역시 초보이기 때문에..)
좋은 현충일 보내세요~ ^^
Re^2: c, c++ 코드에 대한 설명을 부탁드립니다.
논리적으로 쓸데없는 코드이지만 문법적으로 문제없습니다.
쉼표연산자는 ','를 기준으로
왼쪽 expression을 먼저 실행하고 오른쪽 expression을 실행한 후 오른쪽
expression의 결과값을 반환하는 연산자입니다.
즉 !str을 evaluate한 후 (결과값은 str값에 따라 좌우되겠지요)
상수인 "hello"를 evaluate할텐데
"hello"를 가리키는 포인터값은 절대 0이 아닐테므로 "hello"의 결과는
반드시 0이 아니므로
전체 if절은 항상 참이 되게 됩니다.
댓글 달기