帮忙解释一下
#include<stdio.h>#include<string.h>
void process(char *p[],int n)
{
char t[30];
int i,j;
for(i=0;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
if(strcmp(p[j],p[i])<0)
{
strcpy(t,p[j]);
strcpy(p[j],p[i]);
strcpy(p[i],t);
}
}
void main()
{
char *p[10],a[10][5];
int i;
for(i=0;i<=9;i++)
gets(a[i]);
for(i=0;i<=9;i++)
p[i]=a[i];
process(p,10);
for(i=0;i<=9;i++)
puts(p[i]);
}
最多输入4个字符
**********************************
#include "stdio.h"
#include<string.h>
void main()
{ char (*p)[5],a[1][5];
p=a;
gets(a[0]);
puts(p[0]);
printf("%d",strlen(p[0]));
}
可以输入5个字符
为什么不一样?
*********************************