请教一个简单问题

zll_lover 2011-04-20 04:33:19
#include <stdio.h>
#include <stdlib.h>


void swap(char* a, char* b);
void perm(char* l, int i, int n);


void perm( char* l, int i, int n)
{
int j;
if(i == n-1) {
for(j = 0; j < n; j++){
printf("%c", l[j]);
printf("");
}
}
else{
for(j = i; i < n; j++){
swap(&l[j], &l[i]);
perm(l, j+1, n);
swap(&l[j], &l[i]);
}
}

}

void swap(char* a, char* b)
{
char temp;
temp = *a;
*a = *b;
*b = temp;
}

void main()
{
char list[5] = {'A', 'B', 'C', 'D', 'E'};
perm(list, 0, 5);
system("pause");

}

请教高手我这段程序总是出错编译不过去问题在哪呢?谢谢
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zll_lover 2011-04-20
  • 打赏
  • 举报
回复
问题刚才找到了呵呵
zll_lover 2011-04-20
  • 打赏
  • 举报
回复
感谢混混
canican 2011-04-20
  • 打赏
  • 举报
回复
for(j = i; i < n; j++){ //这一行出问题了,条件判断使用i,而自增的是j出现死循环了
换成for(j = i; j< n; j++){ 就可以了
nicefengyu 2011-04-20
  • 打赏
  • 举报
回复
[code=怎么发代码]? char[/code]
zll_lover 2011-04-20
  • 打赏
  • 举报
回复
我就是用的vc 6.0断点调试再printf输出时就出错了
zhouganghao 2011-04-20
  • 打赏
  • 举报
回复
VC 6.0 下编译没问题。。。。。
bdmh 2011-04-20
  • 打赏
  • 举报
回复
swap,为系统所有,注意,换个名

69,377

社区成员

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

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