输入3个整数,按由小到大的顺序输出。 使用指针。

输入3个整数,按由小到大的顺序输出。使用指针。简单易懂。
2024-11-19 17:43:32
推荐回答(1个)
回答1:

#include
#include

#ifndef _CDEMO
#define _CDEMO
#define _ARRAY_SIZE 3 // 假定输入3个元素
#define _INT_SIZE sizeof(int)
#endif /*_CDEMO*/

typedef int INT;

void bubble_sort(INT **p, int size_t){ // 冒泡排序
for (INT i = size_t-1; i >0; --i){
for (INT j = 0; j < i; j++){
if (*(*p + j)>*(*p + j + 1)){
int temp = *(*p + j);
*(*p + j) = *(*p + j + 1);
*(*p + j + 1) = temp;
}
}
}
}

void main(void)


INT *p = NULL;
p = (INT *)malloc(_INT_SIZE * _ARRAY_SIZE);// 动态申请3个元素的空间
for (INT i = 0; i < _ARRAY_SIZE; ++i) scanf("%d", p + i);
bubble_sort(&p, _ARRAY_SIZE);
for (INT i = 0; i < _ARRAY_SIZE; ++i) printf("%d ", *(p + i));

free(p); // 释放内存空间
}