gpt4 book ai didi

c - 无法在控制台上打印简单的嵌套 if 条件结果

转载 作者:行者123 更新时间:2023-11-30 16:18:34 26 4
gpt4 key购买 nike

这是一个简单的测试程序,在我完成从第二个 printf 进入子流派的输入后,我试图在控制台上显示结果“12个愤怒的男人”程序。我在这里做错了什么?请不要试图在这里寻找与任何内容的相关性。控制台将简单地要求用户按 1 进行操作,然后它会询问幽默/其他,当幽默在接受输入为 1.1 后会显示 12 个愤怒的男人。

int main()
{
int action=1,comedy=2;
float humorous=1.1, other=1.2,input1;
int input;
printf("Which Movies You Want to See\n");
printf("Action/Comedy");
scanf("%d",&input);
if(input==1)
{
printf("Humorous/Other");
scanf("%f",&input1);

if(input1==1.1)
{
printf("12 angry men");
}
}

return 0 ;
}

最佳答案

就像其他人提到的那样,像您尝试做的那样直接比较 float 并不是一个好的做法。例如,如果您设置 int input1 = 1.1然后尝试使用printf("%f", input1) ,输出为1.10000或类似的东西。对于 1.1 == 1.10000 这不会返回 true在运行时用 C 语言编写,这就是导致问题的原因。

您可以根据输入使用不同的整数来说明您想要发生的情况,或者(如果您确实必须)您可以使用 < 进行比较和>运营商。即if (input1 > 1.09 && input1 < 1.11) .

这会给你想要的结果。

关于c - 无法在控制台上打印简单的嵌套 if 条件结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55858200/

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