初学C的函数过程的几个问题

昨日从C#转入C,初学C语言,到函数这里时,碰到许多迷惑的地方。应该可以给许多初学者带来收获吧?如果没有麻烦编辑大大移至新手区。谢谢!

main()
{
      printf("%d",pr());
      getch();     

int pr()
{
     printf("one");
     return 0;

若改成以下便出错:

main()
{
      pr();
      getch();     

void pr()
{
     printf("one");
}

而正确的调用要在pr();前加一个void pr();或将该函数移至主函数前。

根据书上所描述:

1、如果被调函数的返回值是整型或字符型时,可以不对被调用函数作说明(终于明白为什么有那么多过程喜欢用int作为修饰符(说明符)),而直接调用。这时系统将自动对被调函数返回值按整数处理。

2、当被调函数的函数定义出现在主调函数前,主调函数也可以不对函数进行说明。

3、在所欲哦函数定义之前,对函数外预先说明各个函数的类型。(我理解没错的话,类似全局变量?)

 

那么我提出以下几点疑惑,首先必须声明的是,我是抱着学习的态度,如果不慎说错误解,我希望能与你们愉快讨论、讨教。

1、如果按照上面所描述,C语言执行过程是……函数过程a->函数过程b->main>函数过程d。其中d过程还未执行到。但a与b已经预先执行,或别的什么的。理解正确?

2、为什么要如此麻烦呢?如果上面的理论正确,主函数似乎没有什么作用,为什么不首个函数作为主函数?如果不成立,那么为何mian前的函数过程不需要说明,而后的却需要如此一步?

3、函数的调用有什么规则?(能否麻烦知晓的朋友给个链接或说明,求学者万分感谢。)

4、最后一个问题,是否有函数重载(C#)?我尝试过,不知是代码编写错误还是为何,结果出错。

以上问题,是个人的疑惑,提出来,只是为了求一个答案,由于首页人气比较旺,也考虑到这些问题的回答或许可以给一些初学者一些启示。真心感谢回复的人,也真心希望回复的内容通俗易懂,原谅我们是菜鸟,只因为我们还无法飞翔。

 

转载于:https://www.cnblogs.com/vseen/archive/2008/12/19/1358728.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值