C语言关于switch函数放在for循环里如何停止程序。。

我把一个switch函数放在了for循环里,程序一直运行下去了,有什么方法可以停止。。。
void main()
{
printf("选择新建链表请按1\n");
printf("选择输入链表元素请按2\n");
printf("选择插入新节点请按3\n");
printf("选择删除指定节点请按4\n");
printf("选择反转链表请按5\n");
printf("选择输出链表请按6\n");
printf("选择排序链表元素请按7\n");
printf("退出请按0\n");
int i;
scanf("%d",&i);
for (;i!=0;)
{int select;
scanf("%d",&select);
switch(select) {
case 1:link_list l;
break;
case 2:l=createlist(5);output (l);
break;
case 3:Insert_Linklist (l);output (l);
break;
case 4:Delete (l);output (l);
break;
case 5:converselist (l);output (l);
break;
case 6:output (l);
break;
case 7:paixulinklist (l);output (l);
break;
default:printf("error\n");}
} /*主函数*/
}
我是退不出SWITCH了

稍微改动了一下源程序,如果楼主说的是“无法退出程序但可以重新做选择”这个原因的话,我发觉到了for循环中的i仅仅只有一次输入的机会,所以i成为了常数,并不是个变量(i在第一次输入数据以后永远不可能有重新输入的机会。)下面贴出了我改动后的程序以便楼主参考(刚学编程不久,有什么不对的地方请指出啊)。

#include "stdio.h"
void main()
{
int i,select;
printf("选择新建链表请按1\n");
printf("选择输入链表元素请按2\n");
printf("选择插入新节点请按3\n");
printf("选择删除指定节点请按4\n");
printf("选择反转链表请按5\n");
printf("选择输出链表请按6\n");
printf("选择排序链表元素请按7\n");
printf("退出请按0\n");
/*主函数*/
do
{
/*i做控制循环的变量*/

i=1;
scanf("%d",&select);
switch(select)
{
case 1:
printf("##选择新建链表请按1\n");
break;
case 2:
printf("##选择输入链表元素请按2\n");
break;
case 3:
printf("##选择插入新节点请按3\n");
break;
case 4:
printf("##选择删除指定节点请按4\n");
break;
case 5:
printf("##选择反转链表请按5\n");
break;
case 6:
printf("##选择输出链表请按6\n");
break;
case 7:
printf("##选择排序链表元素请按7\n");
break;
case 0:
i=0;break;
default:printf("error\n");
};
}while(i==1);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-08
具体情况具体分析,如果是死循环,任务管理器就可解决!!呵呵。
第2个回答  2013-04-08
关掉VC哈···
第3个回答  2013-04-08
Ctrl+C中止程序
第4个回答  2013-04-08
要有条件,满足了就break出去
相似回答