0
我寫了下面的代碼遞歸循環跟蹤
#include <stdio.h>
void recurse();
int main()
{
recurse();
return 0;
}
void recurse()
{
static int n=987654321;
if(n==0)
return ;
printf("%d",n%10);
n=n/100;
int a=n;
recurse();
if(a!=0)
printf("%d",a%10);
}
我不理解爲什麼輸出來了135799753? 我認爲答案是135799,因爲在打印1357之後的第一個9之後,n將變爲9,因此n/100將爲零,因此遞歸函數將返回到主體而不打印任何東西。 請糾正我錯在哪裏。 在此先感謝!
也許使用調試器 –