baidu_28411433 2015-06-16 04:21 采纳率: 50%
浏览 2417

switch函数有错,执行case0后执行case1有错

int main()
{

int c; //开关控制变量
char m; //继续或退出控制变量
ALGraph G;

init_ALGraph(G); //初始化图

CreateUDN(G); //创建图
PrintAdjList(G); //打印图
//DFSTraverse(G,0); //深度优先搜索
menu();
cout<<"请输入一个游戏控制变量m:m为y或Y表示继续游戏,N或n表示退出游戏:";
cin>>m;
while('y'==m||'Y'==m)
{
cout<<"请输入一个整型开关控制变量c(c=0或1):";
cin>>c;
switch(c)
{
case 0:
{

            //求两点之间的简单路径
            char ch1,ch2;
            char *path;        //存放路径
            path=(char *)malloc(MAX_VERTEX_NUM*sizeof(char));

            cout<<"please input two points:"<<endl;
            cin>>ch1>>ch2;
            simple_Path(G,ch1,ch2,path);

            int i=0;
            while(path[i])
                cout<<path[i++];    //输出路径
            cout<<endl;
            break;
          }
       case 1:
          {
            //求点到点的最短路径
           char cha,chb;
           char *s_path;        //存放路径
           s_path=(char *)malloc( MAX_VERTEX_NUM*sizeof(char) );

           cout<<"please input two points:"<<endl;
           cin>>cha>>chb;
           short_Path(G,chb,cha,s_path);    //广度优先搜索

           int n=0;
           while(s_path[n])
              cout<<s_path[n++];    //输出路径
           cout<<endl;
           break;
          }
      default:
        cout<<"输入错误:"<<endl;
      }
    cout<<"是否继续游戏:Y,y表示继续游戏,N,n表示退出游戏:";
    cin>>m;
    }
return 0;

}

  • 写回答

8条回答

  • 知常曰明 2015-06-16 04:43
    关注

    path在malloc之后没有free;
    执行case0后执行case1是什么意思没有明白case0和case1只会执行一个啊。

    评论

报告相同问题?

悬赏问题

  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊