#include stdiohvoid swapint aint b int temp = a; a = b; b = temp;void q_sortint arrint beginint end ifbegin = end return; int left = begin; int right = end; int key = begin; whilebegin end whilear
不正确。以下是错误之处:
- swap函数中,交换指针变量的值时,应该交换指针变量所指向的值,而不是指针变量本身。应该改为:
void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }
- q_sort函数中,第二个while循环中的条件判断应该是<=,而不是=<=。应该改为:
while(arr[begin] <= arr[key] && begin < end)
- 在main函数中,printf语句中应该加上空格或换行符,以免输出结果连在一起难以辨认。应该改为:
printf("%d ", arr[i]); 或 printf("%d\n", arr[i]);
原文地址: https://www.cveoy.top/t/topic/eyXJ 著作权归作者所有。请勿转载和采集!