调试通过,运行出错

dulongfirst 2010-06-20 03:13:42
先贴代码吧,问题应该出在主函数上,如下

int main()
{
int fun;
char fname_in[50],fname_out[50];
while(1)
{
printf("请输入数字选择您要完成的功能:1-压缩 2-解压 3-退出\n");
scanf("%d",&fun);
if(fun==1)
{
printf("请输入您要压缩的文件名(含后缀)\n");
scanf("%s",fname_in);
printf("请输入压缩后文件名\n");
scanf("%s",fname_out);
printf("压缩后事件个数及压缩比分别为:");
conpress(fname_in,fname_out);
}
else if(fun==2)
{
printf("请输入您要解压文件名(含后缀)\n");
scanf("%s",fname_in);
printf("请输入解压后文件名\n");
scanf("%s",fname_out);
unConpress(fname_in,fname_out);
}
else exit(0);
}
}

在我运行过功能1后再运行功能2,功能2就无法跳出循环,如果先运行功能2再运行功能1就没有问题。不知道什么原因,请指教。如果需要子函数的代码我再贴。
...全文
140 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wade_2003 2010-06-20
  • 打赏
  • 举报
回复
问题应该在那两个子函数中吧
cattycat 2010-06-20
  • 打赏
  • 举报
回复
对,main的循环没有问题。不知道你的解压缩和压缩是不是有问题。
东莞某某某 2010-06-20
  • 打赏
  • 举报
回复
合乎,是2个函数中的问题
jixingzhong 2010-06-20
  • 打赏
  • 举报
回复
main功能正常

应该问题在压缩和解压缩的逻辑中
jokey514 2010-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiongyouxiaozhi 的回复:]
conpress(fname_in,fname_out);
unConpress(fname_in,fname_out);
代码呢。你把这两行代码注释掉看看。因为没有这两个函数的代码。我刚根据你的代码测试了下 没问题啊
[/Quote]应该是这两个函数的问题吧,上边的代码好像没有什么问题!
XiongYouXiaoZhi 2010-06-20
  • 打赏
  • 举报
回复
conpress(fname_in,fname_out);
unConpress(fname_in,fname_out);
代码呢。你把这两行代码注释掉看看。因为没有这两个函数的代码。我刚根据你的代码测试了下 没问题啊
durant 2010-06-20
  • 打赏
  • 举报
回复
贴出来看看
wibnmo 2010-06-20
  • 打赏
  • 举报
回复
大家一致认为是压缩函数出了问题。楼主帖出来瞅瞅。
xuehaipp68 2010-06-20
  • 打赏
  • 举报
回复
LZ可以用switch来做开关语句
hua_zhixing_ 2010-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiongyouxiaozhi 的回复:]

conpress(fname_in,fname_out);
unConpress(fname_in,fname_out);
代码呢。你把这两行代码注释掉看看。因为没有这两个函数的代码。我刚根据你的代码测试了下 没问题啊
[/Quote]
对,也试过!调试时,判断错误了出错的模块,后果也不浅呐!
ccnyou 2010-06-20
  • 打赏
  • 举报
回复
等代码,应该是循环条件问题

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧