请问各位C语言这行递归代码中参数代表什么意思


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地址向后移动一位
每次递归 都向后移动一位。
望采纳!!