| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 379 人关注过本帖
标题:求助!关于C函数调用的一些疑问点
只看楼主 加入收藏
南国迦叶
Rank: 2
等 级:论坛游民
帖 子:46
专家分:20
注 册:2010-7-9
结帖率:88.24%
收藏
已结贴  问题点数:10 回复次数:6 
求助!关于C函数调用的一些疑问点
#include<stdio.h>
void printstar()
{
  printf("*****\n");
}
void print_message()
{
  printf("Hello World!\n");
}
int add(int a,int b)
{
  return a+b;
}
char intToChar(int a)
{
  return (char)a;
}
int main()
{
  printstar();
  print_message();
  printstar();
  int a=add(3,4);
  printf("%d",a);
  char b=intToChar(65);
  printf("%c",b);
  getchar();
}
1.在以上程序中,是可以运行成功的,但是如果把main函数与自定义函数调换位置,也就是说把main函数放在开头,同样的代码发现运行不了,报错的地方有8处之多(报错内容太多了无法整上来,其中有一条是说printstar第一次使用未声明),我用的编译器是Dev C++,不知这个异常是否是编译器导致?
2.上面的自定义函数printstar()与print_message()中是不会传递值的,但是在不传递值的情况下为什么不给函数定义标示符类型就无法运行呢?我在调试的过程中在这两个在函数之前加上void才可以的,为什么呢?
3.弱弱的问哈,实参是否可以是常量?
4.假若实参与形参数据类型不一致的的时候,应该以哪个为主进行转换?
5.实参与形参的值是否可以双向传递,就是说它们的值可否互相传递?
搜索更多相关主题的帖子: return include return include 
2012-09-11 22:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
听说你在自学,看什么书学的?怎么会这样?

授人以渔,不授人以鱼。
2012-09-11 22:59
micholasmalo
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2012-6-22
收藏
得分:2 
又一个看了残本,走火入魔了。。。。MAIN放在前面编译器不是给你报错了吗,就是没声明。。函数你不给他类型声明,你让编译器情何以堪啊~~~
2012-09-11 23:16
好人ING
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-9-12
收藏
得分:2 
回复 3楼 micholasmalo
残本........
2012-09-12 08:06
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:2 
函数还没学透哦!加油吧
1.记住函数是先声明再调用,变量是先定义再使用,C语言的规则;
2.函数是必须有返回值类型的(不需要返回值就是void型),函数的参数可以不写(不写也并不代表没有,也是一个void),也可以跟多个参数;
3.实参可以是常数,但与形参类型必须匹配;
4.从实参到形参(函数调用),参数类型必须一致,要不报错;如果你return返回的话,类型必须与函数返回值类型一致,不一致必须转化,要不也报错;
5.“实参与形参的值是否可以双向传递”这句有点不明白,什么叫双向传递哦?函数调用时就是把实参传给形参(不会是形参也传递给实参撒,要不逻辑就乱了),子函数处理完之后,把处理结果通过return返回给原函数,函数是有值的,比如char b=intToChar(65),b就是后面那个函数的值;
 
2012-09-12 10:52
hoovi
Rank: 2
等 级:论坛游民
帖 子:12
专家分:34
注 册:2010-11-3
收藏
得分:2 
自己认真看书,脑残,不解释
2012-09-12 10:56
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
收藏
得分:2 
你把main函数放在前面 至少要给下面的函数声明一下吧
不然编译器怎么知道这是什么玩意
2012-09-12 11:22
快速回复:求助!关于C函数调用的一些疑问点
数据加载中...
 
   



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

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