| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 546 人关注过本帖
标题:不明白了!请大家帮忙
只看楼主 加入收藏
majun9988
Rank: 1
来 自:黑龙江-哈尔滨
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-3-13
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:5 
不明白了!请大家帮忙
函数参数的传递和值返回
#include <stdio.h>               #include <stdio.h>

int a(int);                      int a(int)

main()                           main()   

{                                {

int a;                            int num;

scanf("%d",&a);                  scanf("%d",&num)

printf("%d",a(a));               printf("%d",a(num));

}                                 }

int a(int a)                      int a(int num)

{                                  {
return a*a;                       return num*num;
}                                  }
      为什么a(a)就出错误改成a(num)就没有错误啊? 不理解啊? 有什么区别么?
搜索更多相关主题的帖子: include return 
2010-04-11 13:37
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
int a(int)
这个函数在最上面声明时 没有加 ; 分号
2010-04-11 13:40
编程小呆
Rank: 2
来 自:西电
等 级:论坛游民
帖 子:31
专家分:23
注 册:2010-3-20
收藏
得分:10 
这个问题我以前也遇见过,好像是函数名不能与形参名相同吧
我以前是这样的一个函数 void func(int a,int a[]);
这样写编译系统会报错,因为后面那个数组名和前面那个形参相同了,编译器无法区分开
我是这样理解的,不知道对不?
2010-04-11 13:46
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
回复 3楼 编程小呆
对,系统会认为a是a[]的地址,
2010-04-11 15:40
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
因为变量名和函数名相同,并且如果你把子函数放在main 上面就不用声明了,声明要加;函数不用
2010-04-11 15:42
majun9988
Rank: 1
来 自:黑龙江-哈尔滨
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-3-13
收藏
得分:0 
原来如此~ 谢谢大家

活着是为了改变世界!!!!
2010-04-11 22:56
快速回复:不明白了!请大家帮忙
数据加载中...
 
   



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

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