3_1 循环输入数组 + 将数组开在静态区域

来源:互联网 发布:java 找不到对象 编辑:程序博客网 时间:2024/06/16 19:54
#include<stdio.h>#define maxn 105int 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;}

while(scanf(“%d”, &x) == 1)
a[n++] = x;
这个循环和用for循环输入数组是一样的。

在上述程序中,数组a被声明在main函数的外面。请试着把maxn定义中的100改成1000000,比较一下把数组a放在main函数内外的运行结果是否相同。如果相同,试着把1000000改得再大一些。当实验完成之后,读者应该就能明白为什么要把a的定义放在main函数的外面了。简单地说,只有在放外面时,数组a才可以开得很大;放在main函数内时,数组稍大就会异常退出。