#include
#define N 4
//冒泡法用指针实现
//输入
int *enterNumber();
//排序
void sortNumberAsc(int *ptr);
//输出
void printNumber(int *ptr);
int *enterNumber(){ //输入
static int ary[N];
printf("请输入一组数字:");
for (int i=0; i
scanf("%d",&ary[i]);
}
int *p=ary;
return p;
}
void sortNumberAsc(int *ptr){ //排序
int tempN;
int i,j;
int *ptr_old=ptr; //记录指针初地址
for (i=0; i
ptr=ptr_old; //循环之后ptr指向数组之后的地址,所以需要重新将指针指向初地址
for (j=0; j
if (*ptr
tempN=*ptr;
*ptr=*(ptr+1);
*(ptr+1)=tempN;
}
ptr++;
}
}
}
void printNumber(int *ptr){ //输出
printf("排序之后的数字为:");
for (int i=0; i
printf("%d ",*ptr);
ptr++;
}
printf("\n");
}
int main(int argc, const char * argv[]) {
//冒泡法用指针实现:
//输入
int *ptr=enterNumber();
//排序
sortNumberAsc(ptr);
//输出
printNumber(ptr);
return 0;
}