다음 코드를 컴파일하면 컴파일러에서 다음 줄이 항상 true라는 오류가 발생합니다. 나는이 조건이 항상 true입니까? (pktNum! = invPktNum)
if (pktNum != ~invPktNum) {
return 1;
}
내가 그 invPktNum을 확인하기 위해 노력하고있어 실제로 pktNum의 역입니다 ... 나는 !=
운영자의 잘못된 이해를 가질 수있다 생각합니다. 그렇지 않은 경우 즉시 종료하고 그렇지 않으면 정상적으로 진행하십시오.
pktNum
은 0x01이고 unsigned char는 0x35이고 invPktNum
은 비교시 0xFE 인 부호없는 char입니다.
누구나 나를 밝힐 수 있습니까? 미리 감사드립니다!
아, 이것이 그랬고 - 나는 새로운 것을 배웠습니다. 당신의 멋지고 상세한 답변에 감사드립니다! – Justin
@ FallSe7en : 놀랍도록 혼란스러운 C 코드 디버깅 세계에 오신 것을 환영합니다. 컴파일러 경고없이 버그를 찾으려고한다고 상상해보십시오! –