在我的代码结束时,我想检查用户是否想要再次尝试所有内容。所以我问 他们输入1.我想检查输入是否为1,如果是,我再次运行程序。
问题是,它忽略了条件并且总是决定再次运行程序。
int input = readInt("1 = yes, 0 = no: ");
if (input == 1); {
run();
}
即使输入了不同于1的数字,它仍会执行run();
。
如果输入数字是1,我只希望它这样做。
我显然犯了一个菜鸟错误,但我似乎无法弄清楚它是什么。有什么指针吗?
答案 0 :(得分:3)
多数民众赞成因为函数运行无论如何都可以访问,请注意“;”
您的代码
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();
}
答案 1 :(得分:3)
您的if语句将在;
结尾处以if (input == 1);
的外观进行屏蔽
实际上,您的run
方法就像:
{
run();
}
将永远执行。