我用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按回车就关闭程序了 展开
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按回车就关闭程序了 展开
5个回答
展开全部
c语言编写程序一般都是按回车就能继续运行你能不能吧程序弄上来让看看..可能是程序编写 的有问题
我感觉这个错误是腻输入的错误程序本身没什么错误...你写的程序是switch。。。。。case语句..也就是当case语句后的条件满足时才执行...楼主你写的这个程序是当country为a和b是才执行你的输出语句...比如你输入a按下回车执行输出语句你在按下回车..就会关闭窗口..想再次输入的话还得从新运行..而你现在输入了一个数字..也就是case语句不满足条件..程序什么都不执行..只执行default语句了。你在按下回车就结束这个程序了..所以窗口就会关闭。如果你想能连续输入.你最好用goto语句但各种高级语言一般不支持goto..最好用while循环里面添加continue语句就能一直输入字符执行语句了 我也是菜鸟..希望能帮到你..呵呵一起努力
我感觉这个错误是腻输入的错误程序本身没什么错误...你写的程序是switch。。。。。case语句..也就是当case语句后的条件满足时才执行...楼主你写的这个程序是当country为a和b是才执行你的输出语句...比如你输入a按下回车执行输出语句你在按下回车..就会关闭窗口..想再次输入的话还得从新运行..而你现在输入了一个数字..也就是case语句不满足条件..程序什么都不执行..只执行default语句了。你在按下回车就结束这个程序了..所以窗口就会关闭。如果你想能连续输入.你最好用goto语句但各种高级语言一般不支持goto..最好用while循环里面添加continue语句就能一直输入字符执行语句了 我也是菜鸟..希望能帮到你..呵呵一起努力
展开全部
你的程序一遍走完自然就结束了……
switch后面直接就gatchar(),return当然就结束了
要是想要继续使用的话就要在输入之后,getchar之前用条件控制循环……for或者while啥的……
switch后面直接就gatchar(),return当然就结束了
要是想要继续使用的话就要在输入之后,getchar之前用条件控制循环……for或者while啥的……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i<n;i++)scanf("%d",i);n为你输入数的个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵
你搞个死循环
或者定义当输入什么时再退出
while(1)
{}
就是死循环
你搞个死循环
或者定义当输入什么时再退出
while(1)
{}
就是死循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询