就是找出以s为首地址的数据中第一个0元素,然后看他偏离你首地址的位数。
while(*t++);
这句话就是等待数据0的出现,当t地址中的数据为0时,跳出循环,但是还有自加1,所以下面跟了一句自减语句,这样t就是第一个为0的地址,最后与你的首地址相减得出这个0的偏移地址。
while(*t++)====> while((*t)!=NULL){t++}
所以,它求的是字符串的长度。
这是计算字符串长度的函数,S为字符串,返回值位字符串S的长度,简单注释如下:
int aaa(char *s)
{
char *t=s;//让地址t位s首地址
while(*t++);//只要地址t数据为真,t++,直到不满足条件,此刻t为字符串‘/0’的地址
t--;//t--,此刻t为字符串最后字符地址
return(t-s);//返回字符串长度
}
求字符串长度
while循环后t指向字符串最后的\0上
t-- 指回最后一个字符
t-s 求字符串长度
经鉴定,该函数功能确为求串长!
求字符串长度