gpt4 book ai didi

C程序红绿灯好吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:53 25 4
gpt4 key购买 nike

我必须用 C 编写一个简短的程序,它获取交通灯的状态(如果是绿色或红色)并显示我们必须执行的操作(通过道路/停止)。在我看来,我们必须在这里使用 if 子句..所以我用 C 写了这个但是当我运行它时,它显示“红色..”如果我尝试按什么东西,它只显示“绿色”..我做错了什么?这是代码:

#include<stdio.h>
int main()
{

int red,green;
printf(" red :");
scanf("%d",&red);
printf(" green :");
scanf("%d",&green);
if ( red ){
printf(" Stop %d\n",red);
}
else{
printf("Pass the road - %d\n",green);
}
return 0;
}

最佳答案

您在 if 条件中使用了一个整数。在 C 语言中,任何在 if 语句内求值的正整数都被认为是真的。

if(some positive number)
{
// always true
}
else
{
//control never reaches here
}

一种解决方法可能是针对不同的条件使用特定的值。

例如,试试这个

    if ( red == 1){
printf(" Stop %d\n",red);
}
else{
printf("Pass the road - %d\n",green);
}

现在,您的 if 条件具有特定且更好的进入条件,其中只有一个特定数字对应于给定条件。您可以继续使用 else-if 添加打印绿色语句的条件,或者让它成为默认条件。

使用 switch-case 的类似实现是:

switch(red)
{
case 1: printf(" Stop %d\n",red);
break;

default: printf("Pass the road - %d\n",green);
break;
}

关于C程序红绿灯好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16131153/

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