在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
在条件内使用。