C 및 C ++에서는 심각한 오류로 다음 코드를 작성하는 것이 매우 쉽습니다.
char responseChar = getchar();
int confirmExit = 'y' == tolower(responseChar);
if (confirmExit = 1)
{
exit(0);
}
오류는 if 문이 다음과 같아야한다는 것입니다.
if (confirmExit == 1)
코딩 된대로 confirmExit변수 할당이 발생 하기 때문에 매번 종료되고 confirmExit표현식의 결과로 사용됩니다.
이런 종류의 오류를 방지하는 좋은 방법이 있습니까?
if (confirmExit).
a = b또는 a == b내부를 허용하는 할당 된 값을 반환하는 표현식이라는 사실입니다 .