C语言数组的下标可不是从1开始滴!
公众号:C语言编程技术分享
C程序练习:
有一个能容纳5个字符的字符数组,初始元素是'a', 'b', 'c', 'd', 'e',要求输出这5个字符。
现在有段错误的C程序,如下:
- #include
- #define LEN 5
-
- int main()
- {
- char array[LEN] = {'a', 'b', 'c', 'd', 'e'};
- int index = 0;
-
- for(index = 1; index <= LEN; index++)
- printf("字符是: %c\n", array[index]);
-
- return 0;
- }
再来看看运行结果,如下:

咦?
数组有5个元素,我确实是从1开始输出元素一直到第5个元素呀?怎么字符a不见了,最后还输出了一个黑桃?打扑克玩nia?
这里有个知识点新手没有搞清楚,C语言的数组下标是从0开始,并不是从1开始,而且数组最后一个元素的下标比如本文也不是5,而是4!
如果你硬要访问下标是5的元素,不是不可以,只是那个位置上是啥字符谁也不知道而已!
那么这段C程序怎么修改呢?小伙伴们试试,有疑问可以留言哦!