gpt4 book ai didi

c - 了解代码

转载 作者:太空宇宙 更新时间:2023-11-04 05:18:51 26 4
gpt4 key购买 nike

我正在尝试理解此处的代码。我已经尝试理解它很长一段时间了,由于我不能完全理解它,所以我向您寻求帮助。

#include<stdio.h>
int sumdig(int);
int main()
{
int a, b;
a = sumdig(123);
b = sumdig(123);
printf("%d, %d\n", a, b);
return 0;
}

int sumdig(int n)
{
int s, d;
if(n!=0)
{
d = n%10;
n = n/10;
s = d+sumdig(n);
}
else
return 0;
return s;
}

我可以理解数字将继续传递函数直到达到 0 然后它返回 1 因为 0==0 但在它返回 3 并以 6 结束。我不明白。记住我是 C 的新手

最佳答案

第一轮,对于 123n % 10 将评估为 3,并且 n/10 的计算结果为 12,因此它将返回 3 + sumdig(12)sumdig(12) 将以同样的方式返回 2 + sumdig(1)sumdig(1) 将返回 1 + sumdig(0)sumdig(0) 将返回 0,此时它将停止。所以总的来说,它将返回 3 + 2 + 1,这是 123 中数字的总和。

关于c - 了解代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com