c语言刚入门学了一周求解惑

img


为什么如果我不用划线的这个int len定义strlen(string),直接用stelen(string)替换下面式子里的len,得出的结果不对

你把改后的代码放出来看看,应该是敲错字母之类的错误
下面有3个len,如果你只替换了一个,就把上面的len删了,另外2个没定义,肯定报错呀

img

因为reverse_string() 是递归写法,用 len 保留每次递进时字符串长度值,首字符保存在 tmp 里,这样函数回归时,逐个将 tmp 放在字符串尾,从而实现字符串逆序。