永发信息网

C++相关,程序的终止相关。

答案:2  悬赏:0  手机版
解决时间 2021-04-13 10:21

一个简单的程序:我想让它执行了 default:printf("输入错误!!\n"); 后就不再执行

printf("b=%d\n",b);

因为现在就算它显示“输入错误!!”后还是会显示“b=…”,

让它显示了输入错误就不再显示b=…

谢谢!!

#include<stdio.h>
void main()
{
int a,b;
printf("请输入一个整数(1——3):");
scanf("%d",&a);
switch(a)
{
case 1:b=1;
break;
case 2:b=3;
break;
case 3:b=2;
break;
default:printf("输入错误!!\n");
}

printf("b=%d\n",b);

}

最佳答案

因为你把 printf("b=%d\n",b); 放在了switch(){。。。}的外面,switch结束后,无论a是什么值,都会执行printf("b=%d\n",b);


所以可以把printf("b=%d\n",b); 写在每一个case中 包括default里。default中也要写break;



#include<stdio.h>
void main()
{
int a,b;
bool isdefault = true;
printf("请输入一个整数(1——3):");
scanf("%d",&a);
switch(a)
{
case 1:b=1;printf("b=%d\n",b);
break;
case 2:b=3;printf("b=%d\n",b);
break;
case 3:b=2;printf("b=%d\n",b);
break;
default:printf("输入错误!!\n");
break;
}
}


或者加一个判断


#include<stdio.h>
void main()
{
int a,b;
bool isdefault = true;
printf("请输入一个整数(1——3):");
scanf("%d",&a);
switch(a)
{
case 1:b=1;isdefault = true;
break;
case 2:b=3;isdefault = true;
break;
case 3:b=2;isdefault = true;
break;
default:printf("输入错误!!\n");isdefault = false;break;
}
if(isdefault == true)
{
printf("b=%d\n",b);
}
}

全部回答

直接return不行吗?或者退出程序。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道小宝85532974QQ空间的第一首歌名字
如果去辨别真假拉菲。例如外观、口感
紫云到贵阳多少公里,惠水县到紫云县有多远,
写给女朋友的信
马上就高三毕业了,要给科任老师买毕业礼物,
三角恋爱怎么办。
判断题我国实行无偿献血制度,提倡18~55周岁
可以画画,看书,的地方起个优雅的名字
梦泽山庄-外商国际俱乐部我想知道这个在什么
网球拍最好的牌子是什么?
简村在哪?
表达追求一个人的句子,要追求一个人的爱情句
第Ⅱ卷(35分)注意:该部分答案请写在答案卷
求 可以第1人称控制方向盘,有换挡的汽车单击
手机飞信 电脑飞信
推荐资讯
帅帅私房菜怎么去啊,有知道地址的么
渑池新文西区南门地址有知道的么?有点事想过
祁东县盛宏渣土运输有限公司我想知道这个在什
谁有手机版GTA圣安地列斯1.05版免解压的下载
数学题....帮忙
adsl原始密码是多少
帮我写个私有土地转让合同
铜川市红旗街小学地址在哪,我要去那里办事
沁园净水器(景岗卫浴)地址在什么地方,想过去
中国现在在世界上到底强不强大`???
林徽因的黄昏过泰山写的是什么意思啊?好几年
为什么我的QQ解除不了防沉迷系统啊!成年身份
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?