我想根据它们的长度对包含名称的数组进行排序,但是当我尝试使用函数交换它们时,以下程序会给出编译器错误。请帮助我确定我的错误。在C++中使用2d数组交换
void sort(char name1[][50])
{
for (int i = 0; i < 5; i++)
{
if (strlen(name1[i])>strlen(name1[i+1]))
{
char temp[50];
temp=name1[i];
name1[i]=name1[i+1];
name1[i+1]=temp;
}
}
}
如果使用'std :: string',它会更容易做到。 –
请注意,这不是一个完整的排序。一般来说,您需要对数组进行多次传递才能完全排序数据。如果你传入['“abcde”','“abcd”','“abc”','“ab”','“a”'],那么输出将是['“abcd”'''abc “','”ab“',''a”','“abcde”']。 –