任何人都可以帮助我理解这个字符串反转的工作原理吗?使用递归在C中反转字符串
#include <stdio.h>
void reverse();
int main()
{
printf("Enter a sentence: ");
reverse();
return 0;
}
void reverse()
{
char c;
scanf("%c", &c);
if(c != '\n')
{
reverse();
printf("%c",c);
}
}
在此代码中,函数reverse能够一次获取输入句子一个字符,对吗?如果它不是'\ n',它会再次调用反向函数。所以下一次当第二个字符被拍摄时,第二个字符将会在变量c中,对吗?
如果是这样,该代码如何能够反转给定的任何字符串? c中的最终值是什么?
该函数不会反转字符串,它只是通过在print语句前仔细放置递归调用来反向标准输入。 – StoryTeller
现在,该学习如何使用调试器,该调试器可让您逐步完成代码并允许您检查变量。但是一张纸和一支铅笔应该足以弄清楚这是如何工作的。 –
我发誓他们是一个关于每天在本网站上反转字符串的问题。 – RoadRunner