zoukankan      html  css  js  c++  java
  • 【c语言】递归题

     记录一下 这个坑,是一个递归调用 当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
    ",f(n));
    
    
    }

    程序输出 45

  • 相关阅读:
    混淆
    【虚拟DOM】√
    fn
    notebook
    sourceMappingURL
    十进制转换为十六进制
    关于this和super的区别
    类中访问级别
    Java中字符串解析
    IWorkspace操作
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860890.html
Copyright © 2011-2022 走看看