| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:c语言 自定义函数在 main 声明与在main前面声明有什么不同?
只看楼主 加入收藏
asdlhf
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2014-12-6
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
c语言 自定义函数在 main 声明与在main前面声明有什么不同?
#include "stdio.h"
int i = 0;
void add(void)
{
    i += 1;
    printf("add: %d\n", i);
}
void add_2(void)
{
    i = 1;
    printf("add_2: %d\n", i);
}
int main(void)
{
    printf("%d ",i);
     add();
    printf("%d ",i);
     add_2();
    printf("%d ",i);
}
运行结果:
/*
0 add: 1
1 add_2: 1
1
*/


main里面声明自定义函数
#include "stdio.h"
int i = 0;
int main(void)
{
    printf("%d",i);
    void add(void);
    printf("%d",i);
    void add_2(void);
    printf("%d",i);
}
void add(void)
{
    i += 1;
    printf("add: %d\n", i);
}
void add_2(void)
{
    i = 1;
    printf("add_2: %d\n", i);
}
运行结果为:
/*
000
*/
来大神指教
搜索更多相关主题的帖子: c语言 include 
2015-03-18 10:28
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
在main里面声明函数  是很不友好的

DO IT YOURSELF !
2015-03-18 10:31
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:10 
回复 2楼 wp231957
我很郁闷的是,谭老就是这么写的。

你醒了?快起来敲代码!!
2015-03-18 10:49
asdlhf
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2014-12-6
收藏
得分:0 
回复 2楼 wp231957
版主:
请问为何 会出现 这样的  结果呢?
2015-03-18 10:50
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
主要看编译器,有的编译器根本就不识别在main里面声明函数

从语法角度讲 还是在外面声明 比较简洁易懂 可读性强  至于老谭的书 我也不好评价   取其精华吧

DO IT YOURSELF !
2015-03-18 10:54
asdlhf
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2014-12-6
收藏
得分:0 
回复 5楼 wp231957
那好!谢谢版主
2015-03-18 11:02
asdlhf
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2014-12-6
收藏
得分:0 
我糊涂了,还没有调用函数
2015-03-18 15:04
峰哥不是
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:75
注 册:2013-11-19
收藏
得分:0 
关于函数声明,有的书分为全局和内部声明,就是放在主函数前面,或者内部,但是实际情况下并没有全局声明函数这一说,关于内部和外部的区别是:声明在函数外,声明后面的函数无论main还是其他函数都可以调用
/声明在函数内部,只能在本函数内,声明后面的区域可以调用

纸上得来终觉浅,绝知此事要躬行
2015-03-18 15:33
峰哥不是
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:75
注 册:2013-11-19
收藏
得分:0 
回复 7楼 asdlhf
声明在函数外,声明后面的函数无论main还是其他函数都可以调用
声明在函数内部,只能在本函数内,声明后面的区域可以调用

纸上得来终觉浅,绝知此事要躬行
2015-03-18 15:34
峰哥不是
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:75
注 册:2013-11-19
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
谭浩强第四版指出了内部函数和外部函数,只不过你没看到那里。。

纸上得来终觉浅,绝知此事要躬行
2015-03-18 15:39
快速回复:c语言 自定义函数在 main 声明与在main前面声明有什么不同?
数据加载中...
 
   



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

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