我是新手。。。
能不能解释一下第三行,看不懂诶
谢谢
#include //c语言头文件
#include //c语言头文件
void main()
{
//比如要开辟int型的数组a[n]
int n,*a;
printf("请输入开辟数组的大小:");
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int)); //malloc函数为C语言动态开辟内存的函数
printf("自动维数组赋值并打印输出:\n");
for(int i=0;i<n;i++) //这个循环是自己随意为数组元素赋值
{
a[i]=i;
}
for(int j=0;j<n;j++)
{
printf("%d\n",a[j]);
}
free(a);
}
//刚才的#include(iostream)是c++的头文件
//using namespace std;是c++的命名空间
//不过C++是兼容C语言的,所以没有改,不好意思
不,本来想
scanf("%d",n);
int a[n];
但是不行。。。。
所以想问问有没有别的方法
你试试下面的
scanf("%d",n);
int *a =(int *)mcalloc(n,sizeof(int)); 你试试这个,动态申请内存
for( int x = 0; x < n -1 ;++x)
{
a[x] = x; // x是数组第几个,值就是第几个
printf("第 a[%d] 个数是:%d",a[x],x);
}
free(a); //释放内存
没法设置的吗?QAQ
追答嗯,不可以,它必须是常量的!