我用C语言编辑,有个scanf函数,运行时我输了数字,接着怎样才能继续运行?我按了回车结果程序直接关闭了

#include<stdio.h>intmain(){charcountry;scanf("%c",&country);switch(country){case'a':p... #include<stdio.h>
int main()
{
char country;
scanf("%c",&country);
switch(country)
{
case'a':
printf("nihao");
break;
case'b':
printf("niyehao");
break;
default:
printf("nibuhao");
}

getchar();
return 0;
}

我直接按回车出现“nibuhao” 输入a按回车或输入b按回车就关闭程序了
展开
 我来答
我是编程爱好者
2010-04-18 · 超过16用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:42.9万
展开全部
c语言编写程序一般都是按回车就能继续运行你能不能吧程序弄上来让看看..可能是程序编写 的有问题
我感觉这个错误是腻输入的错误程序本身没什么错误...你写的程序是switch。。。。。case语句..也就是当case语句后的条件满足时才执行...楼主你写的这个程序是当country为a和b是才执行你的输出语句...比如你输入a按下回车执行输出语句你在按下回车..就会关闭窗口..想再次输入的话还得从新运行..而你现在输入了一个数字..也就是case语句不满足条件..程序什么都不执行..只执行default语句了。你在按下回车就结束这个程序了..所以窗口就会关闭。如果你想能连续输入.你最好用goto语句但各种高级语言一般不支持goto..最好用while循环里面添加continue语句就能一直输入字符执行语句了 我也是菜鸟..希望能帮到你..呵呵一起努力
百度网友5346d32
2010-04-18 · TA获得超过550个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:205万
展开全部
你的程序一遍走完自然就结束了……

switch后面直接就gatchar(),return当然就结束了

要是想要继续使用的话就要在输入之后,getchar之前用条件控制循环……for或者while啥的……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
think1115
2010-04-26
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
int main()
{ int flag;
char country;
while(1)
{
scanf("%c",&country);
printf("是否继续:退出请输入0");
scanf("%d",&flag);
switch(country)
{
case'a':
printf("nihao");
break;
case'b':
printf("niyehao");
break;
default:
printf("nibuhao");
}
if(flag==0)
break;
}
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电脑——交流
2010-04-18
知道答主
回答量:47
采纳率:0%
帮助的人:43.3万
展开全部
for(i=0;i<n;i++)scanf("%d",i);n为你输入数的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友52aeb54
2010-04-18 · TA获得超过2995个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1150万
展开全部
呵呵
你搞个死循环
或者定义当输入什么时再退出
while(1)
{}
就是死循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式