以下程序运行后的输出结果是【 】。 fun(iht x) { if(x/2>0) fun(x/2);
以下程序运行后的输出结果是【 】。 fun(iht x) { if(x/2>0) fun(x/2); printf("%d",x); } main() { fun(6); }
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:1 3 6
本题考查函数的递归调用。函数fun是递归函数,语句fun(6)的调用过程如下:第1次:调用fun(6),6/2=3>0成立,调用fun(3);第2次:调用fun(3),3/2=1>0成立,调用fun(1);第3次:调用fun(1),1/2=0>0不成立,执行语句printf('%d',x);,输出1。推出fun(3)输出3,fun(6)输出为6。
相似问题
下面的程序可对指定字符串中的字符串进行从大到小排序 请将程序填完整。 (注:程序采用了冒泡排序法)
下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法) include<stdio h> include<string h> main
以下程序运行后的输出结果是【 】。 main() {char c; int n=100; float
以下程序运行后的输出结果是【 】。 main() {char c; int n=100; float f=10; double x; x=f* =n =(c=50); printf( "%d %f n ",n,x); }请帮忙给出正确答案和分析,谢谢!
以下程序的功能是将字符串s中的数字字符放人d数组中 最后输出d中的字符串。例如 输入字符串abc12
以下程序的功能是将字符串s中的数字字符放人d数组中,最后输出d中的字符串。例如,输入字符串abc123edf456gh,执行程序后输出123456。请填空。 include
下列循环的循环次数是______。 int k=2; while(k=0) printf('%d'
下列循环的循环次数是______。 int k=2; while(k=0) printf( "%d ",k); k--; printf( " n ");请帮忙给出正确答案和分析,谢谢!
设有以下定义和语句 则*(*(p+2) +1) 的值为______。 int a[3][2]={10
设有以下定义和语句,则*(*(p+2) +1) 的值为______。 int a[3][2]={10,20,30,40,50,60},(*p) [2]; p=a;请帮忙给出正确答案和分析,谢谢!
