设有定义 char s[12]={“string”} 则printf("%d",strlen(s
设有定义chars[12]={“string”}则printf("%d",strlen(s))的输出结果是...
设有定义 char s[12]={“string”} 则printf("%d",strlen(s)) 的输出结果是
展开
2个回答
展开全部
strlen的函数原型是
unsigned int strlen(const char * string)
返回的是从传入的指针的地址开始,一直到字符串结束符'\0'之间的字节数
而char s[12]={"string"}这种写法,实际隐含了一个字符串结束符'\0'在最后
即s[12]包含's' 't' 'r' 'i' 'n' 'g' '\0'这7个字符。
当调用strlen(s)的时候,传入的是's'的首地址,一个到字符串结束符'\0'共有6个字节。返回会返回6
最终打印就是6了。
unsigned int strlen(const char * string)
返回的是从传入的指针的地址开始,一直到字符串结束符'\0'之间的字节数
而char s[12]={"string"}这种写法,实际隐含了一个字符串结束符'\0'在最后
即s[12]包含's' 't' 'r' 'i' 'n' 'g' '\0'这7个字符。
当调用strlen(s)的时候,传入的是's'的首地址,一个到字符串结束符'\0'共有6个字节。返回会返回6
最终打印就是6了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询