你好,请问一下你能解释一下么。进入myf()那段我就一点都看不懂了、、、
答案:1 悬赏:50
解决时间 2021-01-10 20:07
- 提问者网友:焚苦与心
- 2021-01-09 22:35
你好,请问一下你能解释一下么。进入myf()那段我就一点都看不懂了、、、
最佳答案
- 二级知识专家网友:天凉才是好个秋
- 2021-01-09 23:42
那是自定义了一个递归函数,if(n>9) myf(n/10);的意思是如果n是个1位数以上的数,那就除以10继续调用,直到n成了一个1位数。 这时开始输出:n%10是只取n的个位数,先是1位数,个位就是它;再返回到了2位数,这就只取个位了……直到最后。比如n=123,因为123>9所以这时不输出而是将n除以10后继续调用,即用n=12调用;12还>9,所以再除以10用1调用,这时1<9了就开始输出:输出1%10是1(%d后有个空格)加空格,返回后再输出12%10是2,再返回去123%10是3;再返回去就到主函数了……完结。追问谢谢,懂了。就是最后只剩一位数的时候就不递归了,开始输出。然后回到2位数的时候。3位数的时候...直到自己输入进去的数。但是我听老师说如果数据大了就很很卡是么来自:求助得到的回答
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯