| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 797 人关注过本帖
标题:很简单的一个函数调用,不知道错在哪??
只看楼主 加入收藏
黑马程序员
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2014-3-28
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:8 
很简单的一个函数调用,不知道错在哪??
#include<stdio.h>
int main()
{
    int c=sum(10,20);
    printf("c=%d\n",c);
    return 0;
}
int sum(int x,int y)
{
        return x+y;
}

编译提示'sum' : undeclared identifier
搜索更多相关主题的帖子: return 
2014-03-29 16:07
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:2 
#include<stdio.h>
int sum(int x,int y);   //少了函数的声明
int main()
{
    int c=sum(10,20);
    printf("c=%d\n",c);
    return 0;
}
int sum(int x,int y)
{
        return x+y;
}
2014-03-29 17:21
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:2 
要先声明函数,或者将sum的实现放在main函数的前面也可以。
2014-03-29 21:33
怪叔叔
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:1
帖 子:113
专家分:234
注 册:2013-9-22
收藏
得分:2 
楼上正解:函数在使用前必须要声明,要么把函数均放在main函数之前;
c语言函数声明时参数列表里可以是任何值,但一般写参数类型列表,要么写参数列表
2014-03-29 22:59
ansonzxy
Rank: 2
等 级:论坛游民
帖 子:15
专家分:42
注 册:2014-3-30
收藏
得分:2 
编译器都说 不明白你的声明是啥,就是要你声明啊!
2014-03-30 18:07
zjcl817
Rank: 4
来 自:残狼部落
等 级:业余侠客
威 望:2
帖 子:68
专家分:206
注 册:2013-11-11
收藏
得分:2 
我怎么能执行出来????
2014-03-30 18:39
造化天运
Rank: 2
等 级:论坛游民
帖 子:28
专家分:31
注 册:2014-2-14
收藏
得分:2 
你的函数在被调用地的下方是需要在调用前声明的,你要么加
2014-03-30 21:13
造化天运
Rank: 2
等 级:论坛游民
帖 子:28
专家分:31
注 册:2014-2-14
收藏
得分:0 
你的函数在被调用地的下方是需要在调用前声明的,你要么加声明,要么将函数置于其前
2014-03-30 21:13
klapset
Rank: 4
等 级:业余侠客
威 望:2
帖 子:71
专家分:234
注 册:2014-2-27
收藏
得分:2 
看编译器的能力。有些不需要,有些需要。
不过请按照下列规则:

凡是本地申明的 加上static 按照调用顺序往前面放,即模块越独立就越靠前。
如果要导出到其他源文件使用的,统统放入头文件,不要偷懒写在这个源文件前门extern就完事了,这样不好。养成使用头文件的习惯。
2014-03-31 23:36
快速回复:很简单的一个函数调用,不知道错在哪??
数据加载中...
 
   



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

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