C语言简单函数计算字符串长度
发布网友
发布时间:2022-05-06 10:04
我来回答
共4个回答
热心网友
时间:2022-06-29 17:58
int strlenOwn(const char* psz) /*const使得字符数组不被修改*/
{
int len=0;
while( *(psz++) ) //psz加啊加啊最后指到了字符串的最后一个的后面,检测到了"\0"
len++; //(接上)于是乎while检测为false(即检测到0),字符串长len就算出来了
return len;
}
这里面psz++是指针的位移操作,移动指向位置的,字符串常量对于c语言来说就是一种数组嘛
而括号外面的“ * ”是解引用符号,其实意思就是取指针当前位置的值,而不是它的地址。
热心网友
时间:2022-06-29 17:59
while( *(psz++) )
len++;
相当于:
while( *psz != '\0')
{ psz++;
len++;
}
热心网友
时间:2022-06-29 17:59
int strlenOwn(const char* psz) /*const使得字符数组不被修改*/
{
int len=0;
while( *(psz++) )
len++;
return len;
}
这个是不是有问题?while( *(psz++) )何时是个结束
热心网友
时间:2022-06-29 18:00
int len=0;
while( *(psz++) ) /*只要psz没指到\0,len就自加1*\
len++;
return len;