0. 问题
- 输入5个数字,逆序打印出这5个数字。
- 输入50个数字,逆序打印出这50个数字。
- 输入n个数字,逆序打印出这n个数字。
完整代码见000_array.c
#include <stdio.h>
int main(){
int arr[5];
for(int i = 0; i < 5;++i){
scanf("%d",&arr[i]);
}
for(int i = 4; i >= 0;--i){
printf("%d\n",arr[i]);
}
printf("\n");
int n;
scanf("%d",&n);
int arr[n];
for(int i = 0; i < n;++i){
scanf("%d",&arr[i]);
}
for(int i = n-1; i >= 0;--i){
printf("%d\n",arr[i]);
}
printf("\n");
}
1. 数组是什么?
数组是存储一个固定大小的相同类型元素的顺序集合。
2. 数组怎么用?
2.1 定义数组
- 语法
类型 数组名[元素个数];
例如:
int days[12];
在C中要定义一个数组,需要指定元素的类型和元素的数量。在C99中,可以使用整型变量作为
元素个数
;在C89中,只能使用整型常量。
2.2 初始化数组
- 语法
类型 数组名[元素个数] = {
值1,值2,值3,值4,等等};
例如:
int days[12]={
31,28,31,30,31,30,31,31,30,31,30,31};
- 试一试1
大括号{}
之间的值的数目如果大于方括号[]
中指定数目,会怎样? //自动补零
大括号{}
之间的值的数目如果小于方括号[]
中指定数目,会怎样?//会提醒出错,但是仅仅打印[]里面个数字完整代码见001——test.c
#include <stdio.h>
int main(){
int days1[12]={
31,28,31,30,31,30,31,31,30,31,30,31};
int days2[13] = {
31,28,31,30,31,30,31,31,30,31,30,31}