8.1.3 数组使用实例
数组可以实现数组元素的循环访问功能,和循环语句一起用可以方便地实现数组元素的写入和读取。范例8-2所示的实例,定义一个字符型数组,然后从键盘上输入字符存储到这个数组中。当输入一个"#"时停止输入,然后用循环语句输出这些字符。
【范例8-2】将输入信息保存到数组中,遇到"#"停止输入,实例代码如下所示。
实例代码8-2
- 01 #include <stdio.h>
- 02 int main()
- 03 {
- 04 char a[100] = {0}; /*定义一个字符型数组并且赋初值。*/
- 05 char c='a'; /*定义一个字符变量,赋一个初值。*/
- 06 int i=0 ; /*定义一个计数变量,实现下标的计数。*/
- 07 while(1) /*进入一个循环。*/
- 08 {
- 09 scanf("%c",&c); /*输入一个字符。*/
- 10 if(c=='#') /*如果字符为#则中断循环。*/
- 11 {
- 12 break; /*结束循环。*/
- 13 }
- 14 a[i]=c; /*把输入的变量赋值给数组中的一个元素。*/
- 15 i++ ; /*计数变量自加。*/
- 16 }
- 17 i=0; /*输出时,计数变量赋值为0。*/
- 18 while(a[i]!=0)
- 19 {
- 20 printf("%c",a[i]); /*输出数组的中字符。*/
- 21 i++ ; /*下标自加。*/
- 22 }
- 23 return 0;
- 24 }
【执行结果】输入下面的命令,编译这个程序。
- gcc 8.2.c
输入下面的命令,运行这个程序。 - ./a.out
- 1
- b
- 3
- #
- 1
- b
- 3
在程序中输入一个字符,然后按"Enter"键。输入多个字符以后,输入"#"结束输入。程序会输出这些字符。
【代码解析】这个程序是用井号"#"来结束循环输入的。每次输入一个字符,判断这个字符是不是"#"。如果是"#"则用break语句来中断循环。在输出时,判断输出的字符是不是存在。在定义数组时,为数组中的元素赋初值0。
注意:由于数组定义后无法修改数组的大小,所以,在定义数组时要充分考虑数组能够存储的元素个数。