Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2863] [답변] 하나도 없는게 좋겠지요?
정성훈.해미 [sage5nor] 1347 읽음    2003-07-24 23:00
Warning은 보통 단순한 것입니다. 아닌것도 있지만..

1. 변수를 선언했는데 한번도 사용 안했다든가..
2. 비교구문 안에 비교 연산자가 아닌 대입연산자를 사용했다든가..
3. 함수의 리턴값이 있어야 되는데 없다든가..

대충 이런 것들이 많습니다.

소스를 보니(직접 컴파일해 보지는 못했습니다...ㅈㅅ)
젤 먼저 눈에 들어오는 것이 있군요..

위의 2번의 경우에 해당하는 것입니다.

소스중에..

다음부분을 보면...
비교연산자 '==' 가 들어가야 할 부분에 대입연산자 '=' 가 들어 갔습니다.
Item1이 'B'이거나 Item2가 'C'이면...이런 조건문인듯한데..
아래의 겅우는
Item1에 'B'를 넣고 이 값(Item1)이 0 이 아니거나
Item2에'C'를 넣고 이 값(Item2)이 0 이 아니면...
이런 조건문이 되었습니다.
Item1값을 'B'로 한 다음 바교하기 때문에 Item1은 항상 0 이 아닙니다.
그래서 아래의 경우는 항상 조건문이 실행됩니다.
결과는 나오나 정확히 원하는 결과는 안나올 것입니다.

[원본소스]
if((Item1='B')||(Item1='C')){
  Cnt++;
  rec[Cnt].Key1=atol(strncpy(Temp6, Line+0, 6));
  rec[Cnt].Key2=Item2*Item3;
}

[수정한 소스]
if((Item1=='B')||(Item1=='C')){
  Cnt++;
  rec[Cnt].Key1=atol(strncpy(Temp6, Line+0, 6));
  rec[Cnt].Key2=Item2*Item3;
}

+ -

관련 글 리스트
2856 Borland C++ Version3.1 Editor에 관한 왕 초보 질문~~~ 맨발 1635 2003/07/19
4170     Re:Borland C++ Version3.1 Editor에 관한 왕 초보 질문~~~ 김백일.cedar 1579 2003/07/21
4169     Re:Borland C++ Version3.1 Editor에 관한 왕 초보 질문~~~ 최준호.스페로 1559 2003/07/20
2854 warning 에 관한 질문입니다... 이용구 1417 2003/07/18
2863     [답변] 하나도 없는게 좋겠지요? 정성훈.해미 1347 2003/07/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.