gpt4 book ai didi

if-else 中的 C 编程嵌套开关不起作用。我哪里错了?

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

此代码编译并接受输入。但随后它不显示结果。我浏览了一下,但没有看到任何错误。

int main(int argc, char** argv) {

int a,b;
char c;
int res=0;
scanf("%d %c %d",&a,&c,&b);
//printf("%d %c %d",a,c,b);
if(c!='+' || c!='-' || c!='*' || c!='/' ){
return NAN;
}
else{

switch(c){
case '+':
res=a+b;
break;
case '-':
res=a-b;
break;
case '*':
res=(a)*(b);
break;

case '/':
res= a/b;
break;
default:
break;
}
}
printf("result is %d\n",res);
return (EXIT_SUCCESS);
}

最佳答案

您的 if 语句是错误的。如果您输入 4 个运算符之一(或所有其他字符 .. ),它将始终为真使用 AND 运算符 ( && ) 而不是 OR ( || )。

if(c!='+' && c!='-' && c!='*' && c!='/' ){
return NAN;
}

关于if-else 中的 C 编程嵌套开关不起作用。我哪里错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29289624/

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