gpt4 book ai didi

c - 我怎样才能做到这一点? (C)

转载 作者:行者123 更新时间:2023-11-30 21:41:38 25 4
gpt4 key购买 nike

我试图让这段代码像一组选项一样工作。我已经测试过它,无论我在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com