请问下面的两句话对不?为什么
1 定义函数时,形参的类型说明可以放在函数体内 2 如果形参与实参的类型不一致,以实参类型为准 请问这2句话分别是正确还是错误?为什么??
两个都不对毫无疑问,楼上的兄弟说的没错。但是楼主没有指明是 C 还是 C++。如果是 C 按照老的标准还有一种老式定义法: void fun(a,b) int a; int b; { } 后来新的 C 标准出来后就推荐函数原型法,建议不用这种老式定义方式。 另外 2 虽然是错的,但是上面 erosnick 说到"会触发编译错误"却不一定,无论是 C、C++ 都只是在某些少数情况下会出编译错误,多数情况下只是个警告,或者什么信息都没有,但却很可能出现运行时错误。比如需要个数字指针实参却传了数值进入,导致非法内存访问等。
这两句话都是不对的,解析如下: 1.定义一个函数,如下: void fun(int a, int b) // a,b即形参 { // 函数体内 } 函数体内指的是大括号内,根据C/C++以及类似语言的语法,形参类型说明是要紧跟在函数名后面的括号中. 2.实参指调用函数时传入的参数,如: int main() { fun(10, 20); // 10, 20即为实参. return 0; } 如果实参和形参类型不一样,是会触发编译错误的.实际上编译器的判断是以形参为准.
答:形参就是函数定义里的各种运算参数。例如: int Fun(int a,double c); a,c就是形参。 实参是形参被具体赋值之后的值,参加实际的运算,有实...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>