为什么我这个编译没问题,但就是运行不了啊?求问题出再哪里

#include<stdio.h>intmain(){intx;printf("请输入x=");scanf("%d",&x);switch(x){case1:if(x<0... #include <stdio.h>

int main()
{
int x;
printf("请输入x=");
scanf("%d",&x);

switch (x) {
case 1: if (x<0)
printf("-1");
break;

case 2: if (x==0)
printf("0");
break;

case 3: if (x>0)
printf("2");
break;

int Z=x;
printf("%d",Z) ;

}

return 0;
}
展开
 我来答
ilvwhy
2016-12-03 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:81%
帮助的人:2867万
展开全部
程序运行没报错,输入3,输出是2,和你代码写的符合。
不知道你要实现的是什么功能。
如果你是要根据x值的范围输出,不应该用switch,而直接用if...else if...这样的判断结构。
更多追问追答
追问

我要实现这个分段函数啊,他运行一次后就不能再运行了...

追答
#include <stdio.h>

int main()
{
int x;
printf("请输入x=");
scanf("%d",&x);

    if(x<0)
        printf("%d",-1);
    else if(x==0)
    {
        printf("%d",0);
    }else if(x>0)
    {
        printf("%d",2*x);
    }
return 0;
}
匿名用户
2016-12-03
展开全部
x值为1,执行case 1后的语句,但条件x<1不成立啊
其他case是一样的问题
更多追问追答
追问
为什么X的值是1呢,你能帮忙修改一下嘛?
追答
x可以输入任何值啊
你的题目要求是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式