这个不是排列名字长度,只是把名字按字典顺序排列。
#include
#include
#define A 80
main()
{
char str[5][A],str1[A];
int i,j;
printf("please enter five name:\n");
for(i=0;i<5;i++)
{
gets(str[i]);
}
for(i=0;i<4;i++)
{
strcpy(str1,str[i]);
for(j=i+1;j<5;j++)
{
if(strcmp(str[j],str1)>0)
{
strcpy(str1,str[j]);
strcpy(str[j],str[i]);
strcpy(str[i],str1);
}
}
}
for(i=0;i<5;i++)
{
puts(str[i]);
}
}
strcpy(str1[A],str[j][A]);
strcpy的函数原型是 char *strcpy( char* dest, char* src ); dest和src是char*类型,你写的那个是一个char类型,所以类型不匹配
使用函数前先了解其函数的原型,参数和返回值的类型一定要注意
使用时str[i]访问第i+1个字符串,使用str[i][A]访问第i+1个字符串的第A+1个字符。