| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1723 人关注过本帖
标题:为什么函数定义名long f2(int n,int k)会说我说明语法错误啊???
只看楼主 加入收藏
难的哟
Rank: 2
等 级:论坛游民
帖 子:26
专家分:34
注 册:2012-1-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
为什么函数定义名long f2(int n,int k)会说我说明语法错误啊???
#define k 4
#define n 5
long f1(int b)
{long power;
int i;
for(i=1;i<k;i++)
power*=b;
return power;
}
long f2(int n,int k)
{long sum;
int i;
for(i=1;i<=n;i++)
sum+=f1(i);
return sum;
}
main()
{printf("sum=%d",f2(n,k));
getch();
}
搜索更多相关主题的帖子: long 函数 power 
2012-02-14 14:53
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:20 
#define 会在你编译之前先替换所有对应文本 所以在#define 之后你的f2就变为:
long f2(int 5,int 4)
所以就错了

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-14 15:27
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
。。。。。。

[ 本帖最后由 有容就大 于 2012-2-14 19:42 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-02-14 16:13
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
学习了
2012-02-14 16:59
难的哟
Rank: 2
等 级:论坛游民
帖 子:26
专家分:34
注 册:2012-1-25
收藏
得分:0 
回复二楼
哦,我知道了,应该把long f2(int n,int k)变成long f2然后将printf(''sum=%d'',f2(n,k))变成printf(''sum=%d'',f2)
2012-02-14 17:29
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用难的哟在2012-2-14 17:29:31的发言:

哦,我知道了,应该把long f2(int n,int k)变成long f2然后将printf(''sum=%d'',f2(n,k))变成printf(''sum=%d'',f2)
能不能上机调式后再下结论?你的程序不是一般的出格。

梅尚程荀
马谭杨奚







                                                       
2012-02-14 17:38
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:0 
以下是引用难的哟在2012-2-14 17:29:31的发言:

哦,我知道了,应该把long f2(int n,int k)变成long f2然后将printf(''sum=%d'',f2(n,k))变成printf(''sum=%d'',f2)

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-14 17:40
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
常量不能当变量来定义。
常数是可以做参数传入的。
一个累加数竟然可以不给初值的。
其实你这个程序相等于计算 1~3 + 2~3 + 3~3 + 4~3 + 5~3 = 225.

梅尚程荀
马谭杨奚







                                                       
2012-02-14 17:48
难的哟
Rank: 2
等 级:论坛游民
帖 子:26
专家分:34
注 册:2012-1-25
收藏
得分:0 
回复 6楼 有容就大
把long f2(int n,int k)改成long f2()和把printf(''sum=%d'',f2(n,k))改成printf(''sum=%d'',f2)后就正确啊,而且我试过了,调试后得到的答案是正确的啊。
2012-02-14 19:34
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
是啊f2 和 f2()的确不一样。不过改这点你就能得到正确结果我到是很奇怪。能说下结果是多少吗?

梅尚程荀
马谭杨奚







                                                       
2012-02-14 19:41
快速回复:为什么函数定义名long f2(int n,int k)会说我说明语法错误啊???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041354 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved