fun(45687,3)不是就执行两次吗,第一次if语句中k-1变成2之后n变成4568,k变成1在进入函数体不执行if语句4568%10不应该是8吗,运行结果y是6
#include<iostream>
using namespace std;
int fun(int n, int k) {
if (k - 1) return fun(n / 10, k - 1);
else return(n % 10);
}
int main() {
int x = fun(123, 1);
int y = fun(45687, 3);
cout << "x=" << x << endl;
cout << "y=" << y << endl;
return 0;
}
你传的是k-1,k本身的值还是3,所以传进去的是2。