图中的func函数是一个递归函数,它的作用是倒序打印一个整数的每一位数字。这个函数检查传入的整数i是否小于10:
如果i小于10(即i是一位数),它会直接打印出该数字。
如果i大于或等于10,它会先递归调用自己,传入的参数是i除以10的结果,这个操作会不断地移除i的最后一位,直到i变成一位数。在递归返回后,它打印出i除以10的余数,也就是被移除的最后一位。
递归的这种方式使得数字的最后一位最先被打印,然后是倒数第二位,以此类推,从而实现倒序打印。举个例子,如果传入的整数是123,打印顺序将会是3、2、1。
这段代码的正确版本应该是:
cpp
Copy code
#include <iostream>
void func(int i) {
if (i < 10) {
std::cout << i << std::endl;
} else {
func(i / 10);
std::cout << (i % 10) << std::endl;
}
}
int main() {
int n = 123;
func(n);
return 0;
}
执行这段代码时,将会打印出:
Copy code
3
2
1
这是整数123的每一位数字倒序打印的结果。