int strlength(char* str)
{
if(*str == '\0')
{
return 0;
}
return 1 + strlength(str + 1) ;///////////请问此处函数递归中的参数是什么意思??
}
str+1表示把指向该字符串的指针向后移动一位,比如当str指向字符“hello”时,str+1指向“ello”,最终指向字符串的结束字符'\0'。这是满足*str == '\0'。
原字符串去掉第一个字符以后的字符串
str+1就是将字符指针str地址向后移动一位
这代码就是纯粹为了联系递归,实际工作这么写要挨骂的
每次递归指针向后移动一位,
str+1------->将字符指针str地址向后移动一位
每次递归 都向后移动一位。
望采纳!!