这个谁写的代码,这么恶心,该缩进的地方不缩进,if 判断还写一行了,第二次看到你问问题了,这个相对简单点解答一下
f4() 函数其实是个递归函数,该函数的作用相当于将输入的数字,按每一位输出出来, 比如:123 先输出 1 ,然后输出 2 然后输出 3
至于想搞清楚怎么算的,你理解递归了其实就懂了,我这里只能简单的说一下
首先:
步骤1. 传入123, 进入函数,判断 n/10 是否为0(123/10 = 12),如果不为0,则说明,该数至少大于10,则再次调用f4()函数
步骤2. 传入12,进入函数,判断 n/10 是否为0(12/10 = 1),如果不为0,则说明,该数至少大于10,则再次调用f4()函数
步骤3. 传入 1,进入函数,判断 n/10 是否为0(1/10 = 0),如果不为0,则说明,该数至少大于10,这里等于0,则输出 n%10, 1%10 =1,输出1
步骤4. 执行完步骤3后,f4()函数返回,返回到步骤2,步骤2中f4()函数调用完毕,则执行下一行 ,printf 这行, 12%10 = 2,输出2
步骤5. 执行完步骤2后,f4()函数返回,返回到步骤1,步骤1中f4()函数调用完毕,则执行下一行 ,printf 这行, 123%10 = 3,输出3
步骤6. 执行完步骤1后,f4()函数返回,返回到main函数,打印换行,结束执行
能看懂我的描述最好,看不懂的话,自己会调试,则调试几次,也能理清楚了,如果还没理清楚,建议先放过递归,等候时间,慢慢了解,了解了之后便自然而然懂了