컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post SkyMap (스카이맵): 천문학 소프트웨어, 밤하늘 별자리 보기 / 가상 천문 관측 - ...도스박스와 VMware 에서 도스 사용 때, CPU 사용량이 항상 100% 가 되므로 주의...[QnA] 윈도우 작업 관리자란? / 현재 실행되는 프로세스와 CPU 사용량 보기 - Ta...Normal.dot 이란 파일은 무엇이며, 어디에 있나요 [MS오피스 / MS워드 QnA]코멘트 전용 블로그를 만들었습니다[QnA] 비주얼베이직(Visual Basic; 비베)이란, 어떤 용도의 언어입니까? / ...지메일(Gmail)에, 자신의 프로필 사진 업로드 기능 생김 / 사진 올리는 법[리눅스] 파일명 앞에, 마침표가 있는 파일은? 유닉스 히든 파일(Hidden Files)...[리눅스/Linux] 부팅할 때, NumLock 키 자동으로 켜기: NumLock ON[리눅스] 환경 설정 파일들의 간단한 설명; profile / bashrc / bash_p...

[C언어] 이런 경고(Warning)가 나와요: Possibly incorrect assignment... / assignment within conditional expression

Monday, July 03, 2006
스폰서 링크

C언어에서, if 등의 조건문 속의 ===로 착각해서 잘못 써 놓으면 '확실한 에러'가 아닌 '잘못된 대입 워닝'만 나기에 주의가 필요합니다.

비주얼베이직에서는 조건문이든 변수 대입이든 항상 = 을 사용하지만,

C언어를 포함한 대부분의 언어에서는 == 을 사용해야 하고, 그냥 = 은 '변수 대입'에 사용됩니다.


O: if (i == j) puts("같습니다");

X: if (i = j) puts("같습니다");


치명적인 오타지만, 에러가 나지 않고 그대로 컴파일이 되어 버리기 때문에, 참 골치 아픕니다. C에서는 이런 경우가 많기 때문에 에러 메시지뿐만 아니라 경고(Warning)메시지도 잘 살펴 보아야 합니다.



구체적으로는 이런 경고(Warning)가 나옵니다:

Warning W8060 foo.c 226: Possibly incorrect assignment in function TestFunc
경고: TestFunc() 함수에서, 잘못된 대입이 있는 듯함

또는

warning C4706: assignment within conditional expression
경고: 조건문 속의 대입





더 읽기: C/C++

2 Comments:
At July 4, 2006 at 2:41 PM, Anonymous Anonymous said...

if(x == 0)을
if(0 == x)로 쓰시는 분들도 계시더군요.

이 코딩스타일은
if(0 = x)라고 잘못치면 바로 에러나죠.

 
At July 4, 2006 at 2:50 PM, Blogger mwultong said...

그런 방법이 있었군요..

(∩_∩)

 

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top