想一次存 100 个数?别用 100 个变量,用一个数组。
int a[5] 申请一排格子,而不是写 5 个变量;0 1 2 3 4,不是 1~5。
第 1 个格子是 a[0],第 5 个是 a[4]。a[5] 是不存在的!| 写法 | 含义 |
|---|---|
int a[5]; | 申请 5 个连着的 int 格子 |
int a[5]={7,2,9,4,5}; | 声明同时填初值 |
a[0] = 100; | 改第 1 个格子的值 |
for(i=0;i<5;i++) cin>>a[i]; | 循环读入一整排 |
for(i=0;i<5;i++) sum += a[i]; | 循环求和 |
a[105] 而非 a[100]——防止恰好越界。i<n 不是 i<=n,否则越界。a[n] 会"悄悄"越界。不报编译错,但读到别的内存,结果看心情。数组就像"体育课点名册":一行 40 个座位,编号 0~39。老师说"报数到 40"对应下标 39—— 数组把"第几个"习惯从 0 开始数,是计算机从 0 数起的由来(内存地址从 0 编起)。
i<4,访问的是 a[0]~a[3]。