| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:函数声明
只看楼主 加入收藏
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
结帖率:93.1%
收藏
已结贴  问题点数:5 回复次数:8 
函数声明
下面这个程序:#include<stdio.h>
void f(int n);
void main()
{
    void f(int n);
    f(5);
}
void f(int n)
{
    printf("%d\n",n);
}为什么可以两次声明?
搜索更多相关主题的帖子: 函数 声明 
2010-09-17 19:39
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:1 
下面的是函数原形,不是声明,声明后面有分号的,是完整的语句
2010-09-17 20:07
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
回复 2楼 真我
函数声明就是函数原型吧。。。的确有两次啊,第二行还有一次,主函数内含有一次
2010-09-17 20:12
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
第二行的那一句可以写在main的上面,不写那一句也可以,把main放在后面
2010-09-17 21:03
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
先声明后调用
2010-09-17 21:03
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
严格来说
void f(int n)
{
    printf("%d\n",n);
}
这是函数的定义,并不是声明
2010-09-17 21:08
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:1 
void f(int n); void main() {     void f(int n); 真悲剧啊,谁说原型没分号,这程序,可以减少一个声明

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-18 00:44
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
我意思是为什么不报错,这样不是就重复了吗?
2010-09-18 01:06
kevin_zh
Rank: 4
来 自:农村
等 级:业余侠客
威 望:1
帖 子:129
专家分:250
注 册:2010-8-14
收藏
得分:1 
楼主没有把基础知识弄明白,前面那个void f(int n);是说明main函数要调用改函数,后面那个是该函数的内容,它是不在main函数内部的,当main函数执行到void f(int n);时会把下面该函数的代码替换进去,这是你的自定义函数

"please input a number :\n"
2010-09-18 01:29
快速回复:函数声明
数据加载中...
 
   



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

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