-2
私は自分の関数でそれをやりたいのです(私はqsortがおそらく良い選択肢であることを知っています)。 は、ここで私がやったものだ:argvの値を関数strcmpでソートする
それは配列では何も変わりません#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void order(int count, char** strings);
int main(int argc, char** argv)
{
int i = 0;
for (i = 1; i < argc; i++)
{
printf("%s, ", argv[i]);
}
printf("\nAfter: \n");
order(argc, argv);
for (i = 1; i < argc; i++)
{
printf("%s, ", argv[i]);
}
getchar();
return 0;
}
void order(int count, char** strings)
{
char temp[50] = { 0 };
int x = 0, y = 0;
for (x = 1; x < count - 1; x++)
{
for (y = 0; y < count - x - 1; y++)
{
if (strcmp(strings[y], strings[y + 1]) > 1)
{
strcpy(temp, strings[y]);
strcpy(strings[y], strings[y+1]);
strcpy(strings[y+1], temp);
}
}
}
}
、私は、感謝を助け、あらゆる種類のをいただければ幸いです!
strcmpはどのようにソートするのに役立ちますか?、すべての入力は異なる長さですか? – piyushj
@piyushjaiswal:異なる長さの文字列を持つ 'strcmp'の動作はよく定義され、一貫性があり、通常は「正しい」とみなされます。 – usr2564301
これまでにこれを試してデバッグするために何をしましたか?例えば最も内側のループでスワップされたもののリストを出力します。 –