C 冒泡排序到字符指针
我试图制作一个程序,在“char**arr”中插入一个char指针,然后用strcmp对char指针进行排序,但由于某些原因,它无法工作,我添加的代码是整个代码的排序部分C 冒泡排序到字符指针,c,sorting,pointers,bubble-sort,char-pointer,C,Sorting,Pointers,Bubble Sort,Char Pointer,我试图制作一个程序,在“char**arr”中插入一个char指针,然后用strcmp对char指针进行排序,但由于某些原因,它无法工作,我添加的代码是整个代码的排序部分 do { flag = 0; for (i = 0; i < num - 1; i++) { if ((strcmp(arr[i], arr[i + 1])) < 0) { fl
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);
do
{
flag=0;
对于(i=0;i
if
情况下交换arr[i]
和arr[i+1]
。(无论是strcmp()<0
还是strcmp()>0
case)标志
仅应在实际发生交换时指定为1。否则循环不会停止另一方面,你不需要三个字符串比较,只要一个,将结果保存到一个变量就足够了,然后比较变量。谢谢你,我尝试了你所说的,程序仍然崩溃。您认为我应该怎么做?@OfekEzon使用调试器检查崩溃的位置以及哪个指针的值不正确。