导读 大家好,我是小典,我来为大家解答以上问题。strlen函数计算字符数组的长度,strlen计算字符串长度很多人还不知道,现在让我们一起来看看吧...
大家好,我是小典,我来为大家解答以上问题。strlen函数计算字符数组的长度,strlen计算字符串长度很多人还不知道,现在让我们一起来看看吧!
1、输出22也是一个偶然。通过malloc和new只是申请了一块大小为5的内存,p1和p只是指向这块内存的地址,此时,这块内存里的数据是未知的。
2、strlen函数是计算字符串的长度,换句话说是计算出字符串首指针到的字符个数,由于p1和p指向这块内存的内容是随机的,也就是说的位置也是不固定的。在你的程序中,从p1开始第23个字符是,所以计算出的大小就是22了。
3、你可以试一下,
4、再printf("%d ",strlen(p1));之前加上*(p1+3) = 0;你再看看此时的打印结果是什么?
5、换上*(p1+1) = 0;时又是什么?
本文到此讲解完毕了,希望对大家有帮助。