c: 使用递归反转字符串?
c: invert string using recursion?
这个函数有什么问题?
void stringReverse (char stringa[])
{
if (stringa[0]!='[=10=]')
{
return stringReverse(&stringa[1]);
printf("%c", stringa[0]);
}
}
我必须编写一个使用递归反转字符串的函数(例如:"Hello" in "olleH");该函数必须接收一个字符串(没有别的)并以相反的顺序打印字符...我不明白为什么我写的没有打印任何东西...
return
returns 函数的一个值,并且在该范围内不执行进一步的语句。考虑一下您希望该声明的位置...
没有完整回答,因为这听起来像是作业!
只是不要使用 return。
使用 stringReverse(&stringa[1]);
而不是
return stringReverse(&stringa[1]);
因为 'return' 语句正在使用 return 一个值。但是你的函数是void类型的,也就是说return什么都没有,不需要。
这个函数有什么问题?
void stringReverse (char stringa[])
{
if (stringa[0]!='[=10=]')
{
return stringReverse(&stringa[1]);
printf("%c", stringa[0]);
}
}
我必须编写一个使用递归反转字符串的函数(例如:"Hello" in "olleH");该函数必须接收一个字符串(没有别的)并以相反的顺序打印字符...我不明白为什么我写的没有打印任何东西...
return
returns 函数的一个值,并且在该范围内不执行进一步的语句。考虑一下您希望该声明的位置...
没有完整回答,因为这听起来像是作业!
只是不要使用 return。
使用 stringReverse(&stringa[1]);
而不是
return stringReverse(&stringa[1]);
因为 'return' 语句正在使用 return 一个值。但是你的函数是void类型的,也就是说return什么都没有,不需要。