c语言动态数组怎么赋值并排序输出

avatar
作者
猴君
阅读量:0

在C语言中,可以使用动态数组来赋值并排序输出。下面是一个示例代码:

#include <stdio.h> #include <stdlib.h>  int compare(const void *a, const void *b) {     return (*(int*)a - *(int*)b); }  int main() {     int n;  // 数组长度     int *arr;  // 动态数组指针      // 输入数组长度     printf("请输入数组长度:");     scanf("%d", &n);      // 为动态数组分配内存空间     arr = (int*)malloc(n * sizeof(int));      // 输入数组元素     printf("请输入数组元素:");     for (int i = 0; i < n; i++) {         scanf("%d", &arr[i]);     }      // 排序数组     qsort(arr, n, sizeof(int), compare);      // 输出排序后的数组     printf("排序后的数组:");     for (int i = 0; i < n; i++) {         printf("%d ", arr[i]);     }     printf("\n");      // 释放内存空间     free(arr);      return 0; } 

该代码首先通过malloc函数为动态数组arr分配了nint类型的内存空间。然后使用循环输入数组元素。接下来,使用qsort函数对数组进行排序,compare函数用于比较两个元素的大小。最后,使用循环输出排序后的数组元素。最后,使用free函数释放动态数组所占的内存空间。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!