1.下标的指定
(1)下标必须是常数,不能是变量。
(2)可以用define定义下标。
问题:读入一些整数,按读入顺序的逆序将这些数输出到一行中,中间用空格隔开。已知整数不超过100个。
#include<stdio.h>
#define maxn 105
int a[maxn];
int main(){
int x, n = 0;
while(scanf("%d", &x) == 1)
a[n++] = x;
for(int i = n-1; i >= 1; i--)
printf("%d ", a[i]);
printf("%d\n", a[0]);
return 0;
}
(3)数组一般会声明得稍大一些。这因为在算法竞赛中,常常难以精确计算出需要的数组大小。
2.定义位置
这个问题咱们在“数组定义在main函数内外的区别”和“定义在mian函数之外的数组的自动初始化”两篇文章中有详细的阐述。作为参加竞赛的同学,只要记得将数组定义在main函数之外就可以了。