假如输入483第一次正常输出字符4,第二次为什么递归调用48,为什么直接就到48%10,而不是执行if语句的48/10
第1个回答 2022-12-01
第一级递归:n=483,i=n/10=48≠0
注意此时先递归调用convert(48),待递归返回再输出当前n的个位数字n%10=3
第二级递归:n=48,i=n/10=4≠0
此时继续递归调用convert(4),待递归返回再输出当前n的个位数字n%10=8
第三级递归:n=4,i=n/10=0
此时递归终止,先输出当前n的个位数字n%10=4
再返回上一级递归输出8,最后返回第一级递归输出3
因此最终输出为:4 8 3本回答被提问者采纳
注意此时先递归调用convert(48),待递归返回再输出当前n的个位数字n%10=3
第二级递归:n=48,i=n/10=4≠0
此时继续递归调用convert(4),待递归返回再输出当前n的个位数字n%10=8
第三级递归:n=4,i=n/10=0
此时递归终止,先输出当前n的个位数字n%10=4
再返回上一级递归输出8,最后返回第一级递归输出3
因此最终输出为:4 8 3本回答被提问者采纳