C语言中函数名后面()中定义的参数和函数体内定义的变量有什么区别?

2025-03-24 01:12:40
推荐回答(5个)
回答1:

从内存角度来讲,函数参数是一定保存到栈区的,函数体内定义的变量可以保存到栈区,比如局部变量,也可以保存到静态数据区,比如static变量。示例如下:

#include 
#include 
void f(int a, int b) {
printf("%d\t%d\n", a, b);
}
int main()
{
int x = 1; //局部变量 保存到栈区
static int y = 2; //static变量,保存到静态数据区
f (x, y); //x和y必须保存在栈区
return 0;
}

回答2:

函数后面括号里是函数形参,是调用该函数需要的输入参数,而在函数里面定义变量z,是局部变量,它只在函数内有效。

这些局部变量、形参、全局变量等都是C基础,找本C语言书认真看看。

回答3:

因为你要比较2个数,就要传递那2个数进函数比较啊。
所以要有参数x,y;
函数内定义的是局部变量。方便操作而已。

回答4:

==书上写的好好的啊。。。
()里是形参,没什么影响的,可以随便定义。计算机在引用的时候会自己带到max里使用。。

{}里的就需要了。z是返回值,需要定义。

回答5:

局部变量。