求大佬教教。不知道为什么排序不了
# include <stdio.h># include <malloc.h>
void caonma(int ***c, int ***m) //输出函数
{
int g;
for (g = 0; g < *m; g++) //输出
{
printf("%d\n", c[g]);
}
}
void sort(int ** a, int ** len) //冒泡排序
{
int i, j, t;
for (i = 0; i < *len - 1; ++i)
{
for (j = 0; j < *len - 1 - i; ++j)
{
if (a[j] > a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
caonma(a, len); //发送子参数的形参
}
void dynamic(int * l) //分配动态空间
{
int i, x;
int * p = (int *)malloc(*l * sizeof(int));
for (i = 0; i < *l; i++) // 对分配的空间赋值
{
printf("对第%d赋值: ", i + 1);
scanf_s("%d", &x);
p[i] = x;
}
sort(p, l);//发送子参数的形参
}
int main() //主函数
{
int v;
printf("输入多少个元素: ");
scanf_s("%d", &v); //输入元素的多少
dynamic(&v);
return 0;
}