函数作业2

 

 A

开始时,i=0,执行i=fac(i),i为0;for循环开始,i=0,后i=1,执行i+=fac(i),i=2;第二轮,i=1,后执行函数,i=6;第三轮,i=2,执行函数,i=36+6=42;第四轮i大于3跳出循环,打印i=3

再次调用函数时,用static修饰的变量会保留上一次的值。

 

 

 A

 

 

 A

 

 

 C

 

 

 C

开始 num=26

 

k=k*(26%10)=6 num=2

 

然后num!=0 继续循环

 

k=6*(2%10)=12 num=0

while(num);   // 判断 num 是否为0,为0 则终止循环,不为0 则继续循环

 

 

 D

 

 

 A

 

 

 B

与之前不一样的是,int i=1前面 没有static,再次调用函数时,用static修饰的变量会保留上一次的值。这里没有static修饰,所以i一直被初始化

 

 

 C

 

 

 C

 

 

 D

 

 

 B

调用fun(int x)(即fun(3))

判断x/2大于是否0,3/2=1大于0,则将1除2再次调用自己

1/2=0
将1输出
回到最初fun(3)输出3
得到结果13

 

 

 C

当x=0或x=1时,返回值为3,否则执行y的表达式

当x=3时,执行3*3-f(1)=3*3-3=6

posted @ 2023-02-16 21:55  sleepyw  阅读(27)  评论(0)    收藏  举报