任何人都可以幫助我理解這個字符串反轉的工作原理嗎?使用遞歸在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