请教:一个关于秦九韶算法的问题!!!
int recusion(int b[5],int y) /*递归函数*/
{
static int count=1;
int v;
if(count<5){
v=y*recusion(int b[5],int y)+b[4-count];/*出错语句*/
count++;}
else v=b[4];
return v;
}
int main()
{
int x,loop;
int a[5];
printf("please input the value of x!\n");
scanf("%d",&x);
printf("please input a0 to a4\n");
for(loop=0;loop<5;loop++) scanf("%d",&a[loop]);
printf("the value of v is %d!",recusion(a[5],x));
getch();
return 0;
}
------------------------------------------
这个程序我用wintc编译后出现了以下的错误
错误 qinjiu~1.c 11: 表达式语法错在 recusion 函数中
警告 qinjiu~1.c 15: 参数'y'从未使用在 recusion 函数中
警告 qinjiu~1.c 28: 不可移动的指针(地址常数)转换在 main 函数中
请高手们指点一点!!!!
问题点数:10、回复次数:4Top
1 楼ASCII945(崛起吧!)回复于 2006-03-04 18:22:24 得分 0
各位,是不是给的分数太少啊??
不好意思啦,我是新手!!!
麻烦大家啦!!!Top
2 楼caobaicheng(百城)回复于 2006-03-04 18:47:24 得分 4
int recusion(int b[5],int y) /*递归函数*/
你这个函数干什么用的?Top
3 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2006-03-04 19:09:52 得分 6
v=y*recusion(int b[5],int y)+b[4-count];
这句里的int放这儿搞什么的啊?
再一个楼主需要明白的是,
int recusion(int b[5],int y)
这样写时, 参数int b[5]与int *b没有区别的, 属于传指针, 而你的程序本意是想做传值计算的吧?Top
4 楼ASCII945(崛起吧!)回复于 2006-03-04 20:10:51 得分 0
谢谢大家!!已经搞定了!!Top




