#include int main() { int arr[10] = {4, 2, 1, 5, 6, 7, 8, 9, 10, 3}; int *p = arr; int *q = NULL; // 创建一个空指针,用于存放最小值的地址 while (p < &arr[9]) { q = p + 1; while (q <= &arr[9]) // 找出本轮最小值 { if (*p > *q) { *p = *p ^ *q; *q = *p ^ *q; *p = *p ^ *q; // printf("---> %d vs %d\n", *p, *q); } q++; } p++; // 指向下一个元素 } for (int i = 0; i < 10; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }