I';我正在学习C编程递归并做一个活动,但我';我卡住了

I';我正在学习C编程递归并做一个活动,但我';我卡住了,c,recursion,C,Recursion,也许这是个简单的问题。我刚开始独自学习C。 有一个转折点 sumOfDigits函数中的“if”。 但我不知道为什么它是一个断点 #include <stdio.h> int sumOfDigits(int); int main(int argc, const char * argv[]) { int N; scanf("%d", &N); N = sumOfDigits(N); printf("%d", N); return

也许这是个简单的问题。我刚开始独自学习C。 有一个转折点 sumOfDigits函数中的“if”。 但我不知道为什么它是一个断点

#include <stdio.h>

int sumOfDigits(int);

int main(int argc, const char * argv[]) {
    int N;

    scanf("%d", &N);
    N = sumOfDigits(N);
    printf("%d", N);

    return 0;
}

int sumOfDigits (int num)
{
    if (num<10)
        return num;
    else
    {
        num = sumOfDigits(num)/10;
    return num + num%10;
}
}
#包括
数字总和(int);
int main(int argc,const char*argv[]{
int N;
scanf(“%d”和“&N”);
N=数字总和(N);
printf(“%d”,N);
返回0;
}
int数字总和(int num)
{
如果(num改变


示例中的num变量没有减少,函数将调用自身,直到内存耗尽,并且您将出现分段错误。

您知道什么是断点吗?它只是IDE中的断点。它帮助您调试,按照说明逐一执行,并查看变量的变化。
num = sumOfDigits(num)/10;
num = sumOfDigits(num/10);