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 confirmExitVariablen erfolgt, und confirmExitwird dann als Ergebnis des Ausdrucks verwendet.
Gibt es gute Möglichkeiten, solche Fehler zu vermeiden?
if (confirmExit).
a = boder a == beine Bedingung zulässt .