In C und C ++ ist es sehr einfach, den folgenden Code mit einem schwerwiegenden Fehler zu schreiben.
char responseChar = getchar();
int confirmExit = 'y' == tolower(responseChar);
if (confirmExit = 1)
{
exit(0);
}
Der Fehler ist, dass die if-Anweisung hätte lauten sollen:
if (confirmExit == 1)
Wie codiert, wird es jedes Mal beendet, da die Zuweisung der confirmExit
Variablen erfolgt, und confirmExit
wird dann als Ergebnis des Ausdrucks verwendet.
Gibt es gute Möglichkeiten, solche Fehler zu vermeiden?
if (confirmExit)
.
a = b
oder a == b
eine Bedingung zulässt .