我想根據它們的長度對包含名稱的數組進行排序,但是當我嘗試使用函數交換它們時,以下程序會給出編譯器錯誤。請幫助我確定我的錯誤。在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」']。 –