Dalam C dan C ++, sangat mudah untuk menulis kode berikut dengan kesalahan serius.
char responseChar = getchar();
int confirmExit = 'y' == tolower(responseChar);
if (confirmExit = 1)
{
exit(0);
}
Kesalahannya adalah bahwa pernyataan if seharusnya:
if (confirmExit == 1)
Sebagai kode, itu akan keluar setiap waktu, karena penugasan confirmExitvariabel terjadi, kemudian confirmExitdigunakan sebagai hasil dari ekspresi.
Adakah cara yang baik untuk mencegah kesalahan semacam ini?
if (confirmExit).
a = batau a == bdi dalam suatu kondisi.