int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
}
以上是一个C语言简单程序的一部分,在函数max后面的括号中写出了函数的参数x,y。那为什么x,y要在括号内给出,而变量z却实在{}内的函数体中定义呢?哪些变量需要在函数参数中定义,哪些变量只需在函数体中定义就可以了?或者说函数的参数和函数体内的一般变量有什么区别?求大神解答。
ä»å åè§åº¦æ¥è®²ï¼å½æ°åæ°æ¯ä¸å®ä¿åå°æ åºçï¼å½æ°ä½å å®ä¹çåéå¯ä»¥ä¿åå°æ åºï¼æ¯å¦å±é¨åéï¼ä¹å¯ä»¥ä¿åå°éææ°æ®åºï¼æ¯å¦staticåéã示ä¾å¦ä¸ï¼
#include <stdio.h>#include <locale.h>
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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-09-05
函数后面括号里是函数形参,是调用该函数需要的输入参数,而在函数里面定义变量z,是局部变量,它只在函数内有效。
这些局部变量、形参、全局变量等都是C基础,找本C语言书认真看看。本回答被提问者采纳
这些局部变量、形参、全局变量等都是C基础,找本C语言书认真看看。本回答被提问者采纳
第2个回答 2013-09-05
因为你要比较2个数,就要传递那2个数进函数比较啊。
所以要有参数x,y;
函数内定义的是局部变量。方便操作而已。
所以要有参数x,y;
函数内定义的是局部变量。方便操作而已。
第3个回答 2013-09-05
==书上写的好好的啊。。。
()里是形参,没什么影响的,可以随便定义。计算机在引用的时候会自己带到max里使用。。
{}里的就需要了。z是返回值,需要定义。
()里是形参,没什么影响的,可以随便定义。计算机在引用的时候会自己带到max里使用。。
{}里的就需要了。z是返回值,需要定义。
第4个回答 2013-09-05
局部变量。