用字符串常量对字符数组进行初始化
2017-11-14 21:33
148 查看
有几种错误的初始化方法要注意:
正确初始化方法:
char str[3] = {"abc", " ", " "}; error : excess elements in char array initializer char str[3] = "abc"; char str[3] = {"abc"}; 这两种不会提示错误,但输出时会乱码。 原因:当编译器将字符串赋给字符数组时,会自动在末尾添加结束符。这样的话该数组的长度应为4! 所以,用字符串常量对字符数组进行初始化时,为避免错误,不设定长度,若要设定长度,也要让设定长度>输入的元素个数 或者 自行在后面加上空字符。
正确初始化方法:
char str[3] = {'a', 'b', 'c'}; char str[3] = {'a', 'b'}; char str[ ] = {"abc"}; char str[ ] = "abc"; char str[4] = {"abc"}; char str[4] = "abc";
相关文章推荐
- c字符数组初始化方式和字符串常量
- C语言指针问题,初始化,赋值,以及字符数组,字符串常量等问题
- 字符数组,字符指针,字符串常量以及其sizeof的一些总结
- //设计一个函数模板 max <T>求一个数组中最大的元素,并以整数数组和字符数 //组进行调用。
- C初始化字符串指针和二维字符数组
- 字符数组初始化需要注意的问题
- 关注C++细节——字面值初始化字符数组及字符串拷贝注意
- 字符数组的初始化
- 利用函数调用,对数组进行初始化,更改,清零,逆置等操作
- C++用new动态分配数组内存后用()进行初始化
- 字符数组初始化与赋值
- 用block变量来对字符数组对象进行排序
- 字符数组,初始化,修改,结束测试 逆置 BGK
- 字符串与字符数组初始化及长度计算
- 关于字符指针和字符数组初始化的问题
- 字符数组初始化
- C语言中二维字符数组的定义和初始化
- 关于字符数组的初始化
- 对一个字符数组的元素进行全排列
- 第13周项目4.2 对字符数组进行排序