如题 如定义char c[5]={"hello"};系统在赋值时会自动在最后面添加'\0'
但是我如果定义char a[5];给前一位赋初值,则第二到第五位会自动赋值'\0'
但后面我又给第三位到第五位赋值了,这个数组是不是就不能正常读出了
char c[5] = {"hello"}; 有两个问题
(1)语法不对,应该是 char c[5]="hello"
(2)有错误, char c[5]="hello",字符串终止符溢出了
2. 但是我如果定义char a[5];给前一位赋初值,则第二到第五位会自动赋值'\0'
// 没错,但注意是数组第1到第4项自动赋值为0
但后面我又给第三位到第五位赋值了,这个数组是不是就不能正常读出了
// 需要看你赋什么值,如果是非零值、并且你把数组a当字符串使用,则结果无法预料(无法确定终止符);如果你把数组a只是当数组使用,则不会有读取问题