|
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;
}
|