在我的代码结束时,我想检查用户是否想再试一次。所以我让他们输入 1。我想检查输入是否为 1,如果是,我再次运行程序。
问题是,它忽略了条件并总是决定再次运行程序。
int input = readInt("1 = yes, 0 = no: ");
if (input == 1); {
run();
}
即使输入了一个不同于 1 的数字,它仍然执行run();
。如果输入数字为 1,我只希望它这样做。
我显然犯了一个菜鸟错误,但我似乎无法弄清楚它是什么。任何指针?
在我的代码结束时,我想检查用户是否想再试一次。所以我让他们输入 1。我想检查输入是否为 1,如果是,我再次运行程序。
问题是,它忽略了条件并总是决定再次运行程序。
int input = readInt("1 = yes, 0 = no: ");
if (input == 1); {
run();
}
即使输入了一个不同于 1 的数字,它仍然执行run();
。如果输入数字为 1,我只希望它这样做。
我显然犯了一个菜鸟错误,但我似乎无法弄清楚它是什么。任何指针?
您的 if 语句将被阻塞;
,if (input == 1);
实际上您的run
方法如下所示:
{
run();
}
这将始终执行。
那是因为函数 run 无论如何都是可以访问的,请注意“;”
你的代码
int input = readInt("1 = yes, 0 = no: ");
if (input == 1); { // checks if input is 1, executes run anyhow
run();
}
改为这样做
int input = readInt("1 = yes, 0 = no: ");
if (input == 1) { // checks if input is 1, then executes run
run();
}