永发信息网

C语言数组定义

答案:2  悬赏:70  手机版
解决时间 2021-05-03 12:40
  • 提问者网友:人傍凄凉立暮秋
  • 2021-05-03 04:00
请问下面的语句可行吗? int n; scanf("%d",n); int a[n];请教大家了
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-05-03 04:12

不行的,C语言不允许动态的数组类型。你可以用指针实现:


int n;


scanf("%d",&n);


int *a=(int*)malloc(sizeof(int)*n);

全部回答
  • 1楼网友:零点过十分
  • 2021-05-03 04:48

这是不行的. 定义静态数组时长度必须是常量. 所以如果n要从键盘输入的话,就必须定义成动态数组. 方法如下:*/

int i, n ,*a; scanf("%d", &n ); a =( int* )malloc( n * sizeof(int) ); //动态申请数组,长度为n //使用时就这样: for( i = 0; i < n; i++ ) { scanf("%d", &a[ i ]); }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯