A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这个花了我很长时间啊!分享给大家
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. int minArray(int Array[],int length);
  4. int main()
  5. {
  6.         int n;
  7.                 printf("请输入数组长度:");
  8.         scanf("%d",&n);
  9. //定义一个指针,为该指针分配一个一块n个int空间的内存
  10.         int *a=(int*)malloc(sizeof(int)*n);
  11. //通过for()循环获取用户输入值
  12.         for(int i=0;i<n;i++)
  13.         {
  14.                 printf("请输入第%d个数组元素:",i+1);
  15.                 scanf("%d",&a[i]);
  16.         }
  17.                 int b = minArray(a,n);
  18.         printf("数组最小值是:%d\n",b);
  19.         return 0;
  20. }
  21. //数组传递是只传递指针,不能判断数组长度,所以长度传过来
  22. int minArray(int Array[],int length)
  23. {
  24.         //先假设Array[0]最小
  25.     int min = Array[0];
  26.            for(int i = 1;i < length ;i++ )
  27.            {
  28.         //通过遍历进行数值比较          
  29.            if(Array[i] < min)
  30.            {
  31.            min = Array[i];
  32.            }         
  33.            }
  34.            return min;
  35. }
复制代码

1 个回复

倒序浏览
忘了释放内存啦!
在main()主函数的 return 0; 之前加上
free(a);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马