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>C语言中函数名后面()中定义的参数和函数体内定义的变量有什么区别?
从内存角度来讲,函数参数是一定保存到栈区的,函数体内定义的变量可以保存到栈区,比如局部变量,也可以保存到静态数据区,比如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; \/\/局部变量 保存...
在c语言中 参数和变量又什么区别?如题 谢谢了
变量顾明思义就是可以改变的值,常量的话,就不可以改变了,因为这个数学家提出的智慧结晶,我知道要它是不可以改变的值就行了 参数: C语言中有两中参数,一种是实参,另一种是形参。那C语言那些属于实参有那些,例如:常量、普通表达式、函数、数组元数、结构体变量。 而形参主要是接收实参传过来...
C语言中函数和函数体的区别是什么?
C语言中函数和函数体的区别为:传递参数不同、返回值不同、调用不同。一、传递参数不同 1、函数:函数具有明确的入口传递参数。2、函数体:函数体没有明确的入口传递参数,内部进行定义和说明。二、返回值不同 1、函数:函数可以有返回值也可以设为void,不返回返回值。2、函数体:函数体没有返回值。
c语言函数中定义的变量是否只在该函数内有用
是的。在函数内部定义的变量,称之为局部变量。局部变量的作用域,也就是有用的范围,是从定义位置开始,到所在大括号结束。如 int func(){ int i = 10; \/\/i的定义位置。 if(i == 1) { int j = 100; \/\/ j 的定义位置。 \/\/some codes }\/\/j所在大括号结束,j的...
请问C语言中函数定义,函数声明和函数调用的区别?
楼主可以这样想,C语言中,无论是常量,变量,函数,只有先定义才能使用的。在函数定义时,大脑要往一般的常量,变量定义的方向,切忌先不要想函数的别的。定义好后,把函数的定义先放一边,不管它。接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长...
c语言中的实际参数和形式参数怎么区分?
形式参数:定义函数时函数名后括号中的变量名!实际参数:调用函数时函数名后括号中的表达式!1。形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。形参定义时必须指定类型!2实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,在调用过程中实参将值赋给形参!3。 C中...
C语言函数三要素是什么
在{}中的函数体内,除形参外没有使用其它变量,因此只有语句而没有声明部分。在max函数体中的return语句是把a(或b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个return语句。在C程序中,一个函数的定义可以放在任意位置,既可放在主函数main之前,也可放在main之后。例如:可把max ...
c语言函数后的括号什么用
swap(int a,int b)——a和b是swap的局部变量。int a,int b; void swap()——a和b是全局变量。()内是函数的形参表,应该算作函数体的组成部分而不是函数名的组成部分。a和b在前者和后者中的可见性和生存周期差远了……
C语言,自定义函数,有参函数的参数列表在函数名后必须写出来吗?
这个问题是一个通识性的问题,显然void name(int x,int y)如果是函数的原型声明就不需要x和y了,如果是函数定义呢,就一定要的。还有,参数的x和y,和你的局部变量x和y其实不一样,所以你的想法是不正确的
C语言函数的调用函数名后面的形式参数表列可以是数字常量吗
C语言中函数有三个概念:定义 声明 调用 函数定义:自定义一个函数,并完成相应的代码实现,如:int max( int a, int b ) \/\/小括号中的 a, b被称为形参,用来对应相应的实参,因为这里的形参可对应任意的实参值,所以,必须以变量形式体现。{ return (a>b)?a:b ; \/\/返回a b中的大数...