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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

shangqiu

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

怎么让用户自己输入数组,不要直接定义的那种,要根据用户输入的数组长度进行分配内存,不浪费,然后再按顺序再输出

1 个回复

倒序浏览
先获取数组长度,再分配内存空间,然后让用户输入数组值,最后再遍历数组
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. int main()
  4. {
  5.         int n;
  6.         int i;
  7.         int *a;
  8.                 printf("请输入数组长度:");
  9.         scanf("%d",&n);
  10. //定义一个指针,为该指针分配一个一块n个int空间的内存
  11. a=(int*)malloc(sizeof(int)*n);
  12. //通过for()循环获取用户输入值
  13.         for( i=0;i<n;i++)
  14.         {
  15.                 printf("请输入第%d个数组元素:",i+1);
  16.                 scanf("%d",&a[i]);
  17.         }
  18. //对数组进行遍历
  19.         for(i = 0;i < n; i++)
  20.         {
  21.         printf("数组第%d个元素是:%d\n",i+1,a[i]);
  22.         }
  23.         return 0;
  24. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马