记录一下 这个坑,是一个递归调用 当n=0的时候,返回程序,因此1234567890%10取余的时候,

依次累加1+2+3+4+5+6+7+8+9 = 45

这块就涉及到对堆栈结构的理解,堆栈是一个先进后出的数据结构,执行完第一次1234567890%10的时候 这个0会被先压入栈中,这个数据暂时保存在堆栈数据当中,因此当程序一次执行到n=0的时候 就依次将栈中的数据弹出,相当于就是

0+1+2+3+4+5+6+7+8+9=45

#include<stdio.h>
long f(long n){
	if(n!=0)
		return (n%10+f(n/10));
	else
		return 0;

}
void main(){

	long n = 1234567890;
	printf("%ld\n",f(n));


}

程序输出 45