#include "stdio.h"
int judge(int p[],int n)
{
int i=0;
for(;i<n;i++)
{
if (p[i]==p[n])
{
return 0;
}
}
return 1;
}
void make(int p[],int n,int a)
{
int i=0;
if (n==a)
{
for (i=0;i<a;i++)
{
printf("%d ",p[i]);
}
printf("\n");
}
else
{
for(p[n]=1;p[n]<a;p[n]++)
{
if(judge(p,n))
{
make(p,n+1,a);
}
}
}
}
main()
{
int *p;
int a;
scanf("%d",&a);
p=malloc(a*sizeof(int));
make(p,0,a);
getch();
}
我的程序为什么结果不对
我是想实现1到a的全排列。