要对几个字符串进行排序并输出,请执行以下操作:
两个程序只是数组的定义不同,第一个定义的是指针数组,第二个正确的定义是字符串数组,但错了。 指针数组的v[i]和字符串数组的v[i]不是都指向字符串的一级指针吗? 两者有什么区别? 为什么第二个是错的?
程序1 :
#包含
要对几个字符串进行排序并输出,请执行以下操作:
两个程序只是数组的定义不同,第一个定义的是指针数组,第二个正确的定义是字符串数组,但错了。 指针数组的v[i]和字符串数组的v[i]不是都指向字符串的一级指针吗? 两者有什么区别? 为什么第二个是错的?
程序1 :
#include 'stdio.h '
主() )
{char *line[]={'C ',' Fortran ',' Basic ',' Pascal ',' Foxbase'};
int n=5;
壳快照(line,n );
写入行(行,n );
}
壳快照(v,n ) ) )。
char *v[];
int n;
{char *t;
int i,j;
for(I=0; I
{for(j=n-1; ji; j----)
if(strcmp ) v[j],v[j] )0) )
{t=v[j]; v[j]=v[j-1]; v[j-1]=t; }
}
}
writeline(linp,n ) ) ) ) ) ) )。
char *linp[];
int n;
{int i;
for(I=0; I
printf(%s(n ),linp[i];
}
程序2 :
#include 'stdio.h '
主() )
{char line[][10]={'C ',' Fortran ',' Basic ',' Pascal ',' Foxbase'};
int n=5;
壳快照(line,n );
写入行(行,n );
}
壳快照(v,n ) ) )。
char v[][10];
int n;
{char *t;
int i,j;
for(I=0; I
{for(j=n-1; ji; j----)
if(strcmp ) v[j],v[j] )0) )
{t=v[j]; v[j]=v[j-1]; v[j-1]=t; }
}
}
writeline(linp,n ) ) ) ) ) ) )。
char linp[][10];
int n;
{int i;
for(I=0; I
printf(%s(n ),linp[i];
}
展开
一切都是