形参、实参与返回值
任何C函数都有一个形参列表,列表中的每个参数都是一个变量,该变量在函数调用过程中被初始化。
下面这个函数有一个整型形参:
//1.
int abs(int n) {
return n < 0 ? -n :n;
}
函数形参列表为空。例如:
void eatline() {
int c;
do c = getchar();
while (c != EOF && c != '\n');
}
函数调用时,调用方将实参列表传递给被调用函数。
在下面的例子中,a-b是传递给函数的abs的实参:
if (abs(a - b) > n) {
printf("difference is out of range\n");
}
一个函数如果形参列表为空,在被调用时实参列表也为空。例如:
eatline();
任何一个C函数都有返回类型,要么是void,要么是函数生成结果的类型。
如果任何一个函数在调用它的每个文件中,都在第一次被调用之前进行了声明或定义,那么就不会有任何与返回类型相关的麻烦。
//2.
函数square计算它的双精度类型参数的平方值:
double square(double x) {
return x * x;
}
调用square函数的程序:
main() {
printf("%g\n", square(0.3));
}
要是这个程序能够运行,函数square必须要么在main之前进行定义:
double square(double x) {
return x * x;
}
main() {
printf("%g\n", square(0.3));
}
C陷阱与缺陷 第4章 链接 4.4 形参、实参与返回值
于 2022-07-29 07:02:07 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)