关于c语言中字符数组的'\0'问题
来源:互联网 发布:嵌入式linux培训视频 编辑:程序博客网 时间:2024/04/26 16:17
今天数据结构上机实验,遇到了一个C语言的问题。说实话,大二了还在为C语言的问题发愁,还是挺尴尬的。
下面我就来说一下我遇到的问题。
char t[5] = {'a','b','c','a','c'};
for(int i = 0; t[i]!='\0';i++)
printf("%c ",t[i]);
系统给我报出的错误是array bounds overflow。然而看到这个我就蒙了,难道是我数学没学好吗?我一遍一遍的数,但是确定,我没有数错,
那就是五个字符。但是为什么会报错呢?我明明是定义的长度为五的字符,怎么会出现错误呢.后来经过查阅资料我才发现,原来字符数组需要一个‘0’
这是系统自动加上的,所以你要为这个\0多定义一个长度,这样系统才能为他加上一个\0,否则,系统就会报错。更改后的代码是:
char t[6] = {'a','b','c','a','c'};
for(int i = 0; t[i]!='\0';i++)
printf("%c ",t[i]);
0 0
- 关于c语言中字符数组的'\0'问题
- 关于C语言,字符数组中越界的两个问题
- 关于C语言的字符数组问题
- C语言结构体中字符数组的问题
- 数组--C语言中关于数组的小问题
- 关于C语言中输入字符的问题
- C语言中关于字符数组和指针数组
- C语言中字符数组的大小
- 关于C语言中对数组取址的问题
- 关于C语言字符数组、字符串和指针的相关问题
- c中字符数组的问题
- c语言中字符数组和字符指针的区别
- c语言中字符指针与字符数组的区别
- 关于C语言数组的定义问题
- C语言中关于未填满字符数组的值(VS2015)
- C语言中字符指针数组输入初始化问题
- c语言中,字符数组与字符串赋值问题
- C语言中关于数组的运算
- CodeForces-546C-Soldier and Cards
- Android Studio 2.0的闪电编译的设置
- Windows下Redis的安装使用
- Js获取当前日期时间及其它操作
- Win10双系统设置默认启动系统的图文教程
- 关于c语言中字符数组的'\0'问题
- 关于JavaScript parseFloat() 函数精度不一致的问题
- Spring与JMX集成
- WIN10下更改计算机名、中文账户名
- 小知识点
- 强制类型转换和地址的输出
- java 时间戳与日期字符串相互转换
- INCLUDE组
- 《JAVA与模式》之简单工厂模式和抽象工厂模式