这个功能有什么问题?
void stringReverse (char stringa[])
{
if (stringa[0]!='\0')
{
return stringReverse(&stringa[1]);
printf("%c", stringa[0]);
}
}
我必须使用递归来编写一个反转字符串的函数(例如:" Hello" in" olleH");该函数必须接收一个字符串(没有别的)并以相反的顺序打印字符...我不明白为什么我写的没有打印任何东西......
答案 0 :(得分:2)
return
从函数返回一个值,并在该范围内不再执行任何语句。想一想你想要那个陈述的地方......
没有完全回答,因为这听起来像是家庭作业!
答案 1 :(得分:1)
只是不要使用return。
使用stringReverse(&stringa[1]);
代替
return stringReverse(&stringa[1]);
因为,'返回'语句用于返回值。但是你的函数是void类型,这意味着它什么都不返回,它不需要。