gpt4 book ai didi

c - switch语句中可以使用if else语句吗?

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

我试图在 switch 语句中插入 if else 语句,但只打印出 else 语句。有什么帮助吗?我指的是第三个 switch 语句。

        num_remain= num_temp/10;

switch (num_remain)
{

case 0: printf(" "); break;
case 2: if (num=0)
printf("Twenty");
else printf(" And Twenty"); break; // If num= 0 or not, it just prints "And Twenty".
case 3: printf(" Thirty"); break;
case 4: printf(" Fourty"); break;
case 5: printf(" Fifty"); break;
case 6: printf(" Sixty"); break;
case 7: printf(" Seventy"); break;
case 8: printf(" Eighty"); break;
case 9: printf(" Ninety"); break;

}

最佳答案

if (num=0)

您错过了 = 符号,这导致这是一个赋值 if(num=0)if(0) 相同因此永远是错误的。应该是

if (num==0)

或者更好:

if(0 == num)

这将通过抛出错误来防止类似的错误。

<小时/>

编辑:
你说这不能解决问题,那么还有其他问题。这是一个可以正常工作的示例代码:

int i = 2;
int j = 0;

switch(i)
{
case 0:
printf("it's 0\n");
break;
case 1:
printf("it's 1\n");
break;
case 2:
printf("it's 2\n");
if(0 == j)
printf("j is 0\n");
else
printf("hit the else\n");
break;
default:
printf("The default\n");
}

此代码是您尝试执行的操作的概念证明。它打印“it's 2”,后跟“j is 0”,因为这样是有效的。如果您的代码仍然无法工作,那么您正在做一些您没有向我们展示的其他事情,或者您的变量没有按照您的想法设置。检查您的变量,在输入开关之前打印它们。

关于c - switch语句中可以使用if else语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731033/

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