爱问知识人 爱问教育 医院库

请问下面的两句话对不?为什么

首页

请问下面的两句话对不?为什么

1 定义函数时,形参的类型说明可以放在函数体内
2 如果形参与实参的类型不一致,以实参类型为准


请问这2句话分别是正确还是错误?为什么??

提交回答
好评回答
  • 2008-09-11 09:26:58
    两个都不对毫无疑问,楼上的兄弟说的没错。但是楼主没有指明是 C 还是 C++。如果是 C 按照老的标准还有一种老式定义法:
    void fun(a,b)
    int a;
    int b;
    {
    }
    后来新的 C 标准出来后就推荐函数原型法,建议不用这种老式定义方式。
    另外 2 虽然是错的,但是上面 erosnick 说到"会触发编译错误"却不一定,无论是 C、C++ 都只是在某些少数情况下会出编译错误,多数情况下只是个警告,或者什么信息都没有,但却很可能出现运行时错误。比如需要个数字指针实参却传了数值进入,导致非法内存访问等。
    

    t***

    2008-09-11 09:26:58

其他答案

    2008-08-30 12:12:07
  • 这两句话都是不对的,解析如下:
    1.定义一个函数,如下:
    void fun(int a, int b) // a,b即形参
    {
    // 函数体内
    }
    函数体内指的是大括号内,根据C/C++以及类似语言的语法,形参类型说明是要紧跟在函数名后面的括号中.
    2.实参指调用函数时传入的参数,如:
    int main()
    {
        fun(10, 20); // 10, 20即为实参.
        return 0;
    }
    如果实参和形参类型不一样,是会触发编译错误的.实际上编译器的判断是以形参为准.

    e***

    2008-08-30 12:12:07

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):