#include"stdio.h" fun(int k,int *p) {int a,b;if(k==1||k==2)*
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 20:05:24
#include"stdio.h" fun(int k,int *p) {int a,b;if(k==1||k==2)*p=1;else{fun(k-1,&a);fun(k-2,&b);*p=a+b
#include"stdio.h"
fun(int k,int *p)
{
int a,b;
if(k==1||k==2) *p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;
}
}
main()
{int x;
fun(6,&x);
printf("%d\n",x);
}执行结果是什么?
#include"stdio.h"
fun(int k,int *p)
{
int a,b;
if(k==1||k==2) *p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;
}
}
main()
{int x;
fun(6,&x);
printf("%d\n",x);
}执行结果是什么?
执行结果是8呗!
再问: 高手,怎么算的?
再答: 其实就是一个递归的过程。 首先k会持续递减到2,再递增至6,由于*p的值是a+b,所以其保存的只是最后一次 fun(k-1,&a); //6-1=5 fun(k-2,&b); //5-2=3 计算出的a=5,b=3累加后得到的和8。
再问: 高手,怎么算的?
再答: 其实就是一个递归的过程。 首先k会持续递减到2,再递增至6,由于*p的值是a+b,所以其保存的只是最后一次 fun(k-1,&a); //6-1=5 fun(k-2,&b); //5-2=3 计算出的a=5,b=3累加后得到的和8。
#include"stdio.h" fun(int k,int *p) {int a,b;if(k==1||k==2)*
#include int b=2; int fun(int *k) {b=*k+b;return(b);} main()
#include int b=2; int fun(int*k) { b=*k+b;return(b);} main()
#include #include fun(int n) { int k,r; for(k=2;k
fun(int k) {if(k>0)fun(k-1) printf("%d",k); } main() {int w=
int b=2;int fun(int*k) {b=*k=b;return (b);} main() {int a[10
#include "stdio.h" void fun(int a,int b) { int t; t=a,a=b,b=
#include "stdio.h" main() { int m,n; float k; for (m=6;m>2;m
很简单的程序运算#include "stdio.h"int main(){int i,b,k=0;for(i=1;i=0
#include#include int f(int i){ int k;for(k=2;k(int)sqrt(i))r
#include void main( ) { int k=-3; if (k
#include sub(int *a,int n,int k) { if(k