2 princewhere princewhere 于 2014.07.30 17:02 提问

c语言,指针那一块,关于重新编写strlen函数

为什么这个strlen函数可以计算 "hello world"?工作原理是什么?谢谢啦

为什么这个函数可以计算"hello world"?工作原理是什么?

4个回答

anzijian1993
anzijian1993   2014.07.30 18:56

int strlen(char *psz)
{
if(psz==NULL) return 0;
for(int i=0;psz[i]!='\0';++i);
return i;
}

u010136832
u010136832   2014.07.31 09:48

int strlen(const char * str)
{
if(str == NULL)
return -1;
int i = 0;
while(*str++)
{
i++;
}
return i;
}

u012334850
u012334850   2014.08.08 16:21

"hello world"是一个字符串,字符串传值默认传首地址,strlen函数的形参就是指针

strlen函数的意思是:如果指针为空的话返回0(就是你没传入字符串),然后执行循环,在字符串值为'\0'(合法的字符串都是以'\0'结束的)时停止循环,返回值是循环次数。不知道你理解了没

starytx
starytx   Rxr 2014.12.10 11:34

strlen计算方法就是根据传入的字符指针,循环自增,知道遇见结束符'\0',所以strlen正常工作的前提是传入的必须是一个C风格的字符串(以'\0'结尾的字符数组)

Csdn user default icon
上传中...
上传图片
插入图片