C语言如何停止运行?

编了一个程序,其中一个函数是输出一步,Sleep两秒,循环了N次。当这个函数开始运行了就要全部运行完才能跳出。如何解决这个问题?有没有类似”如果检测到有输入就跳出函数”之... 编了一个程序,其中一个函数是输出一步,Sleep两秒,循环了N次。当这个函数开始运行了就要全部运行完才能跳出。如何解决这个问题?有没有类似 ” 如果检测到有输入就跳出函数 ” 之类的语句?
其实是个普通的汉诺塔。。。每输出一步停止两秒,但直到走完所有2^n-1步才会停止。如果把这个程序做成了函数,能不能 “如果有输入就跳出函数”, 回到主函数,不是中途exit之类的。。。

#include <stdio.h>
#include <windows.h>
void hanoi(int n,int a,int b,int c);
int main(){
int n;
scanf("%d",&n);
hanoi(n,1,2,3);
return 0;
}
void hanoi(int n,int a,int b,int c){
if (n==1){
printf("%d %d\n",a,c);
Sleep(2000);
}

else{
hanoi(n-1,a,c,b);
printf("%d %d\n",a,c);
Sleep(2000);
hanoi(n-1,b,a,c);
}
展开
 我来答
AA5956
2015-07-02 · TA获得超过1869个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:483万
展开全部
一般都是用Ctr+c来停止。如果是程序内部的话,可以在main函数里面使用return,或者用exit()都可以让程序停止运行。
FHZCJLTX
2013-02-01
知道答主
回答量:18
采纳率:0%
帮助的人:5.3万
展开全部
可以贴点代码上来看下吗,避免理解错了你的意思。

一、如果你是想有输入,就回到主函数,不再回到本来的递归函数(即不再继续运算),就直接return。(会不断返回上一层,即将压栈的递归函数出栈)。

二、如果你是想实现这样的功能:输入,就暂停计算,可以再输入,继续执行运算。可以使用
system("pause");这样的语句。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊·梵beec
2013-02-01 · TA获得超过2162个赞
知道大有可为答主
回答量:1897
采纳率:0%
帮助的人:1415万
展开全部
有啊,Ctrl-C就能让程序退出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自杏花村大气的木星
2013-02-01 · TA获得超过4045个赞
知道小有建树答主
回答量:773
采纳率:33%
帮助的人:1022万
展开全部
给你个示例程序你看看:
#include <windows.h>
main()
{
int i = 0;

while(1)
{
printf("%d\n", i);
i++;
Sleep(50);

// 碰到有按键就退出
if (kbhit())
{
break;
}
}

system("pause");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轻快还温顺灬仓鼠1
2013-02-01
知道答主
回答量:75
采纳率:0%
帮助的人:30.1万
展开全部
用break语句或者是用exit(0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式