//递归---输入一个整函数,按照顺序打印每一位4 3 2 1 //假设输入1234 // 1234%10=4 // 1234/10=123 // 123%10=3 // 123/10=12 // 12%10=2 // 12/10=1 // 1%10=1 // 1/10=0 void print(int n)//接收n值 { if (n > 9) print(n / 10); printf("%d ", n % 10);//打印余数 } int main() { int n = 0; scanf_s("%d", &n); print(n);//传过去n值 return 0; } //假设n是123,大于9进去,先用print(123/10),把12的每一位打印出来 //上一步结束后,再打印123%10打印余数3 //原理: //print(1234) //print(123)+ 4 //print(12)+ 3 4 //print(1)+2 3 4 ***拆解到这一步然后返回依次打印 //代码的执行顺序是先print,再打印, //你输入的数据进入print一直被拆分,知道拆分为1时就停止了, // 然后再依次打印 //先是print(123) //然后又进入print(123/10)也就是print(12) //print(12)进去了print(12/10),也就是print(1), //最后因为1<9,所以就先开始打印了1%10了, //再返回打印12%10了,然后就是123%10 //最后的结果就是1 2 3 //只有print调用完才能轮到printf去打印 //print(1234)分成两部分-- - print(123)和printf("%d", 4) //print(123)分成两部分---print(12)和printf("%d",3) //print(12)分成两部分---print(1)和printf("%d",2)