求助C++ strlen() 问题
答案:5 悬赏:40 手机版
解决时间 2021-03-26 06:52
- 提问者网友:城市野鹿
- 2021-03-25 23:44
求助C++ strlen() 问题
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-03-26 01:04
cout< cout< cout< cout< cout<
全部回答
- 1楼网友:等灯
- 2021-03-26 05:19
我试了一下s3[1]是13,s3[2]到s3[4]是16,s3[5]到s3[8]是20,s3[9]是24,到底有没有什么规律之类的?
- 2楼网友:山河有幸埋战骨
- 2021-03-26 03:42
S1。。字符串长度就是5。。这个你应该也数的出来。不解释了
S2。。S2[4]是“\0”字符串结束符。所以STRLEN认为这里字符串结束。。长度为4,备注:STRLEN统计的长度不包含结束符
S3和S2[8]都越界实际输出的值不可预估。。理论上是随机值。。只是凑巧随机到20和空了
sizeof是计算变量大小的。。char s[100]。。实际上S是一个指向S[100]首地址的指针。指针的长度是一个INT型变量的长度。。等于4
以上。。
S2。。S2[4]是“\0”字符串结束符。所以STRLEN认为这里字符串结束。。长度为4,备注:STRLEN统计的长度不包含结束符
S3和S2[8]都越界实际输出的值不可预估。。理论上是随机值。。只是凑巧随机到20和空了
sizeof是计算变量大小的。。char s[100]。。实际上S是一个指向S[100]首地址的指针。指针的长度是一个INT型变量的长度。。等于4
以上。。
- 3楼网友:酒醒三更
- 2021-03-26 02:25
strlen(s1)==5,原因是{'m','o','b','i','l'};指定一部分内容的时候,剩余部分会自动赋值为0,而'\0'的实际值就是0.
strlen(s2)==4,因为第五个字符是字符串结束符'\0'(==0)。
strlen(s3)==?,因为他没有结束符。
strlen(s2)==4,因为第五个字符是字符串结束符'\0'(==0)。
strlen(s3)==?,因为他没有结束符。
- 4楼网友:神鬼未生
- 2021-03-26 01:44
strlen函数用来计算不带‘\0’的字符串长度,所以 strlen(s2) = 4 ,至于strlen(s1)和strlen(s3)我觉得结果是不确定的,因为不知道后面字符什么时候碰到'\0'(s1和s3数组部分元素未被初始化)。
s2[8]是空是因为s2正好第9个元素正好是无法打印的字符
最后一个结果应该是4,因为str是作为数组名压栈,是一个指针所占的字节数
如果你这样写
char s[100];
cout< 结果应该是100
s2[8]是空是因为s2正好第9个元素正好是无法打印的字符
最后一个结果应该是4,因为str是作为数组名压栈,是一个指针所占的字节数
如果你这样写
char s[100];
cout<
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯