W językach C i C ++ bardzo łatwo jest napisać następujący kod z poważnym błędem.
char responseChar = getchar();
int confirmExit = 'y' == tolower(responseChar);
if (confirmExit = 1)
{
exit(0);
}
Błąd polega na tym, że instrukcja if powinna była:
if (confirmExit == 1)
Po zakodowaniu wyjdzie za każdym razem, ponieważ confirmExitnastąpi przypisanie zmiennej, a następnie confirmExitzostanie użyte jako wynik wyrażenia.
Czy istnieją dobre sposoby, aby zapobiec tego rodzaju błędom?
if (confirmExit).
a = blub a == bwewnątrz.