C语言:请帮我解决!!

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:50:14
我的问题是有一个函数jump(int x,inty )当x =0时候jump(0,y)=y+1
当x!=0时候jump=2*(x-1,y)
我编了以下的程序,但是得不到正确的结果
main(){
int s,y,sum;
printf("\n input s and y:");
scanf("%d,%d",&s,&y);
sum=jump(s,y);
printf("yi gong ki yi tiao %d zhi qing wa",sum);
}
int jump(inta ,int b){
int k;
if(a==0)
k=b+1;
else
k=k+(2*jump(a-1,b));
return(k);
}
请问这个程序哪里错了呢?
我一直找不到
还有为什么如果我在最前面加一个函数 声明结果是也错的呢
即我在最前面:int (int ,int)

int jump(inta ,int b){ //应该 是int a,少了个空格
int k; //k 未初始化
if(a==0)
k=b+1;
else
k=k+(2*jump(a-1,b));
return(k);
}
你的递归好像 也有点问题
用我这个试试,看是不是你想要的.

int jump(int a ,int b){
int k;
if( a == 0 ) return b + 1;
else
return 2*jump(a-1 , b);
}