作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让这段代码像一组选项一样工作。我已经测试过它,无论我在 moduleChoice 中输入什么,它都会直接带我到 GradeTestMain。有人可以解释一下我做错了什么吗?
int main (void)
{
int moduleChoice=5;
printf ("Please choose which module you would like to use.\n");
printf ("press 1 for GradeTest version 1.1\n");
printf ("press 0 to exit\n");
scanf_s ("%d", &moduleChoice);
if (moduleChoice == 1,
gradeTestMain());
if (moduleChoice == 0,
printf ("Thank you for using GradeTest version 1.1! Have a great day!"));
if (moduleChoice /= 1,0,
printf ("That is not a valid choice. Please try again."));
最佳答案
if (moduleChoice == 1,
gradeTestMain());
应改为
if (moduleChoice == 1)
gradeTestMain();
对于其他 if
也是如此。
您需要关闭括号 - 否则这意味着
if (moduleChoice == 1, gradeTestMain());
这意味着
if (moduleChoice == 1, gradeTestMain())
{
;
}
这意味着。
评估moduleChoice == 1
,丢弃结果,然后评估gradeTestMain()
。然后检查gradeTestMain()
的返回值是true还是false。但同样,由于 if
内部没有任何内容,因此无论 gradeTestMain
返回 true 还是 false,结果都是相同的。
另一件事是
if (moduleChoice /= 1,0,
并没有像你想象的那样做。将其更改为 else
。将之前的 if
更改为 else if
所以你需要
if (moduleChoice == 1)
gradeTestMain();
else if (moduleChoice == 0)
printf ("Thank you for using GradeTest version 1.1! Have a great day!");
else
printf ("That is not a valid choice. Please try again.");
投资一本书可能是个好主意。
关于c - 我怎样才能做到这一点? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820312/
我是一名优秀的程序员,十分优秀!