
4个回答
展开全部
传入指向首字符的指针即可。
#include<cstring>
std::size_t getlength(const char* s)
{
return std::strlen(s);
}
不用库函数的话,可以这样:
int getlength(const char* s)
{
const char* t = s;
while(*t != '\0')
++t;
return t - s;
}
sizeof在编译期返回对象所占空间的字节数。对于数组,返回数组的长度(而不是字符串长度);对于字符串字面量,返回字符串长度加1(字面量的类型是数组类型,长度等于字符串长度加结尾的'\0'占的1字节);对于指针,返回指针本身所占的字节数,在32位平台下一般为4,和字符串长度无关。因此所有情况下sizeof都无法直接计算字符串的长度。
====
[原创回答团]
#include<cstring>
std::size_t getlength(const char* s)
{
return std::strlen(s);
}
不用库函数的话,可以这样:
int getlength(const char* s)
{
const char* t = s;
while(*t != '\0')
++t;
return t - s;
}
sizeof在编译期返回对象所占空间的字节数。对于数组,返回数组的长度(而不是字符串长度);对于字符串字面量,返回字符串长度加1(字面量的类型是数组类型,长度等于字符串长度加结尾的'\0'占的1字节);对于指针,返回指针本身所占的字节数,在32位平台下一般为4,和字符串长度无关。因此所有情况下sizeof都无法直接计算字符串的长度。
====
[原创回答团]
参考资料: 原创
展开全部
sizeof()
sizeof("字符串");
sizeof("字符串");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int line (char* a)
{
return strlen(a);
}
.........
{
return strlen(a);
}
.........
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询