问题 单项选择题

有以下程序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。

多项选择题
多项选择题