请问一个关于C语言行参和实参关系的问题
main() {float fun(int i,int j); …… x=fun(i,j);……} float fun(int a,int b){……} 1请问这个函数行参还实参都写在主函数下,那怎么分辨哪个是哪个是哪个呢? 2请问是不是行参一定要定义类型,而实参可以不定只要行参定就好了.请详细解答
1.函数的第一次出现,即为原型声明,可以只写形参类型,不写变量名 2.不是,形参、实参都要定义类型。再有不应该有这样的问题,在C/C++中,如果变量没有定义就使用是非法的,也就是说不会出现“实参可以不定义类型”的情况。 更详细的信息请参见,我Blog中的 三篇介绍函数的文章
1。第一个float fun(int i,int j);是函数原型声明,参数里一般只要写类型就可float fun(int,int);可以不写变量名,是形参; 接下来x=fun(i,j);是函数调用,传递给他的是实参。 在下来float fun(int a,int b){……} 是函数定义,参数是形参。这里一定要写明参数的类型名和变量名。 2。形参一定要定写明参数类型,传递的实参也是要指定类型的,不过它一般是在调用它的函数里定义的,类型名一般不写在参数里头。
答:形参就是函数定义里的各种运算参数。例如: int Fun(int a,double c); a,c就是形参。 实参是形参被具体赋值之后的值,参加实际的运算,有实...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>