c语言中op=x<10?(5:(x<50?(20:(x<100?80:200))));这样写可以吗?

未来需努力点缀
2012-09-25 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:550万
展开全部
你好
修改代码如下:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int x;
int op;
printf("please enter the number x:");
scanf("%d",&x);
if(x<0)
printf("%d\n",x);
else
x=x;
op=x<10?5:(x<50?20:(x<100?80:200));
printf("op=%d\n",op);

switch(op)
{
case 1:
printf("The input x is beyond domain of definition.\n");
break;

case 20:
printf("%d\n",3*x-2);
break;

case 80:
printf("%d\n",4*x+1);
break;
case 200:
printf("%d\n",5*x);
break;
default:printf("wrong input!\n");
}
return 0;
}

其实总结一下 两个问题:
(1)变量的类型不符合
(2)优先级不明确

希望能帮助你哈
Akuma_Allen
2012-09-25
知道答主
回答量:38
采纳率:0%
帮助的人:20万
展开全部
不可以
左边条件不行
op=10?(5:(x<50?(20:(x<100?80:200))));

或者x<10?(5:(x<50?(20:(x<100?80:200))));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
謎一样的猫鲍dj759
2012-09-25
知道答主
回答量:36
采纳率:0%
帮助的人:24.2万
展开全部
你的小括号有点多,觉得有几个是不是多了,但是像这种写法是可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-25
展开全部
可以写,没问题,只是严重影响代码可读性;没啥意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式