【发布时间】:2016-04-09 15:53:45
【问题描述】:
我正在尝试制作一个将 char 指针插入到“char** arr”的程序,然后使用 strcmp 对 char 指针进行排序,但由于某种原因它不起作用,我添加的代码是排序部分整个代码。
do
{
flag = 0;
for (i = 0; i < num - 1; i++)
{
if ((strcmp(arr[i], arr[i + 1])) < 0)
{
flag = 1;
temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
else if ((strcmp(arr[i], arr[i + 1])) > 0)
{
flag = 1;
temp = arr[i + 1];
arr[i + 1] = arr[i];
arr[i] = temp;
}
else if ((strcmp(arr[i], arr[i + 1])) == 0)
{
flag = 1;
continue;
}
}
} while (flag == 1);
【问题讨论】:
-
在一个无关的注释中,你不需要三个字符串比较,只需要一个,将结果保存到一个变量就足够了,然后比较变量。
标签: c sorting pointers bubble-sort char-pointer