课程
/后端开发
/C
/C语言入门
int fn1(int x)
{
int y,z;
z=2;y=x+z;
……
}
这里fn1括号里的能把int y,int z加上去吗?加上去了下面y和z是不是就不用再定义了
2017-07-28
源自:C语言入门 5-10
正在回答
括号里的形参是一个函数的入口, c语言里所有的形参都要对应的实参传入.如定义int fn1(int x, int y,int z){......}
但是在调用的时候: fn1(2); 这样写是不对的.这样只有x得到赋值, 编译器就会报错.如果:fn1(1,2,3);这样写就一点问题都没有, 这样子就无需在函数体内再定义y,z. 因为形参表定义的变量也是属于这个函数的局部变量.如果再在函数体中定义: int y,z; 编译器就会报错: redefine....(重复定义)
有兴趣可以看下形参缺省, 在C++里形参是可以缺省的,即:声明函数 int fn1(int x, int y=2, int z=3);
调用时; fn1(1); 赋值结果: x =1 ,y =2, z =3;
王之藐视
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答对例子的疑问
1 回答关于Switch语句例子代码的疑问
1 回答关于例子的疑问
1 回答例题中代码改成这样子也对把?
2 回答本小节代码分析题中的疑惑