问题
单项选择题
有以下程序void f(int n,int* r){int rl=0;if(n%3=0)rl=n/3; else if(n%5=0)rl=n/5;else f(n,&r1);*r=rl;} main(){int rn=7,r;f(m,&);printf("%d",r);}程序运行后的输出结果是【 】。
A.2
B.1
C.3
D.0
答案
参考答案:A
解析:本题考查了函数的递归调用。在f函数中,当m=7时,程序执行"f(n,&r1);"语句,递归调用f(6,&r1),程序执行"r1=n/3;"语句,即r1=6/3=2,然后执行",* r=r1;"语句,所以输出结果为2。