请教C语言的问题

 我来答
眼不见还恋0Gk
2020-04-01 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:28%
帮助的人:618万
展开全部
你这个程序有好几处问题啊,下面一点一点说的吧:

1:printf
("f(%d,%d)=%ld\n",sum_power(n,k));这一句中引号里面有三个输出位置,而括号内只有一个变量

可以将其改成printf
("f(%d,%d)=%ld\n",n,k,sum_power(n,k));

2:printf
("f(%d,%d)=%ld\n",sum_power(n,k));还是这一句,你调用了sum_power(n,k)这个函数,而在这之前你并没有定义或申明这个函数,解决办法有两种:(1)把sum_power(n,k)的函数定义放在主函数前面(2)在调用函数之前申明一下,你可以在int
k,
n;后面加一句int
sum_power(int,int);,这两种方法哪种都可以。

3:
int
sum_power(n,k)定义函数时如果带有参量,要说明参量类型即:
int
sum_power(int
n,int
k)

4:getch();这一句没看出也有多大用,可能是用来使界面停留在程序运行界面上吧,不过这个函数我不知道对不对,我在书上只见到getchar()这个函数

5:if(n==1)
sum_power(1,k)=1;这句中有一个赋值语句,等号左边不能是函数,只能是变量,可以改成:

int
sum_power(n,k)
{long
int
s;

if(n==1)
s=1;
else
s=pow(n,k)+sum_power(n-1,k);
return
s;}
综合上面的几点,下面给你一个完整的程序:

#include<stdio.h>
#include<math.h>
void
main()
{
int
k,
n;

long
int
sum_power(int,int);

printf("Please
input
n
and
k\n");
scanf
("%d%d",&n,&k);
printf
("f(%d,%d)=%ld\n",n,k,sum_power(n,k));
getchar();}
long
int
sum_power(int
n,int
k)
{long
int
s;

if(n==1) s=1;
else
s=pow(n,k)+sum_power(n-1,k);
return
s;}
厍树枝源秋
2020-04-02 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:879万
展开全部
我进行了相应的修改,若是在VC中进行调试,使用getch必须使用头文件conio.h。另外在赋值语句中,左边必须是变量,所以不能使用函数。但你可以让结果返回。同时注意自己的书写格式。
#include<stdio.h>
#include<math.h>
#include<conio.h>
int
sum_power(int
n,int
k);
void
main()
{

int
k,
n;

scanf
("%d%d",&k,&n);

printf
("f(%d,%d)=%ld\n",sum_power(n,k));

getch();
}

int
sum_power(int
n,
int
k)
{

if(n==1)

return
1;

else

return
(int)pow(n,k)+sum_power(n-1,k);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纪景明枚书
2020-03-28 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:28%
帮助的人:605万
展开全部
既然sum_power(n,k)=pow(n,k)+sum_power(n-1,k)

你至少要定义sum_power(0,k)及sum_power(1,k)两个初值。

另外你的K是什么?好象没有意义哟。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式