#include
#define N 10
int main() {
int arr[N];
int* p;
p = arr;
int i;
int j;
printf("Please enter number to populate the array!n");
for (i = 0; i < N; i++) {
scanf(" %d", p + i);
}
for (p = arr; p < (arr + N); p++) {
printf("%d ", *p);
}
p = arr;
printf("n");
// 冒泡排序
for (i = 0; i < N - 1; i++)
{
// 外层循环记录比较的位置
for (j = i; j < N - 1; j++) {
// 内层循环控制比较的元素
if (*(p + j) > *(p + j + 1)) {
*(p + j) ^= *(p + j + 1);
*(p + j + 1) ^= *(p + j);
*(p + j) ^= *(p + j + 1);
// 运用(^运算符)的本质还是中间变量;
}
}
}
for (p = arr; p < (arr + N); p++) {
printf("%d ", *p);
}
p = arr;
printf("n");
int* q = arr + (N - 1);
// 倒序输出
while (p != q) {
*p ^= *q;
*q ^= *p;
*p ^= *q;
p++;
q--;
}
for (i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("n");
return 0;
}



