一个超级简单的C语言程序,谢谢帮助

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:22:48
#include<stdio.h>
void main()
{
int n,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
printf("%3d",a[i]);
}
}
错误描述:error C2133: 'a' : unknown size

scanf("%d",&n);
int a[n];
不允许这样定义数组的,数组的大小必须固定,a[i]里的i必须是常量不能是变量。如果你的数组不确定大小,即输入元素个数不定,建议你用结构体类型,其中有链表。

以下也不行:
在C中a[N];N必须要为一个数,你先设20个左右吗,你输多少写多少。
#include<stdio.h>
void main()
{
int n,i;
scanf("%d",&n);
int a[];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
printf("%3d",a[i]);
}
}

数组在定义的时候要明确大小,
比如a[16];
n必须为常量。

int n,i;
说明n和i是变量
数组初始化【】中须为常量
所以可以用
#define N 数字

1.定义数组心须给出指定值同,如int a[10];
2.不能使用变量来定数组 如:int x=90; int a[90] 这是不对了,不可以这样定义.
3.可以使用常量来定义数组长度 如:#define X=20 int a[X];这样是可以的

定义数组的时候好像[]里面的只能是常量吧,你怕不够就把它定义足够大的常量就行了