c语言数组定义问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:09:06
如何在c语言中先输入数组大小,然后定义数组?比如
int n;
scanf("%d",&n);
int a[n];

这样写显然编译错误,但是要怎样实现呢?
二楼的好像是错的喔。声明数组不能用变量作为下标,只能用常量

C语言中不能先声明数组大小再定义数组啊

采用动态内存分配
#include <malloc.h>
...

int n;
int *pn;
scanf("%d",&n);

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

这样就定义了数组pn[n];

直接定义是不可以的,你必须先
申明
#define N 100
int a[N]
或者
int n;
int *pn;
scanf("%d",&n);

int n;
scanf("%d",&n);
int* p = new int[n];

使用是一样的。

三楼说的挺多,好像并没有解决问题,还是四楼的方法可以,我也就是用的这中方法

你可以这样!!
int n;
int a[n];
scanf("%d",&n);