水木社区手机版
首页
|版面-C程序设计语言(CProgramming)|
新版wap站已上线
返回
1/1
|
转到
主题:请教一个字符串的问题
25楼
|
freynew123
|
2022-07-20 18:13:26
|
展开
你这个严格意义上来讲是字符数组,而不是字符串
你对数组每一个元素都赋值了,怎么会截取呢
你说的问题,不是C语言的范畴,而是编译器的行为
你试试看 char a[5]= "12345“
和 char a[] = "12345"
看看两者是否有差异
【 在 shouge111 的大作中提到: 】
: 变量a长度是5,那么根据教材,它只能存储1234,最后一个存储单元应该存储字符串结束标志\0。
: 但是实际运行,a存储了12345.这是怎么回事呢?printf打印也是打印了12345
: #include<stdio.h>
: ...................
--
FROM 180.158.13.*
38楼
|
freynew123
|
2022-07-21 11:55:33
|
展开
这怎么会一样呢
a[5] 长度就是5 a[]长度是6,确保最后是\0结尾
a[5]有自己独立的内存空间,不是直接指向的"12345", 语言角度不确保是\0结尾
【 在 shouge111 的大作中提到: 】
: 结果没有差异,char a[5]= "12345“后面的内存没有用,恰好就是空。所以就和它一样了:char a[] = "12345"
:
: 你试试看 char a[5]= "12345“
: ...................
--
FROM 180.158.13.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版