参数

38 阅读2分钟

在C语言中,参数字典并不是一个内置的概念,而是对函数参数传递机制的描述。C语言的函数参数分为形式参数(形参)[&和实际参数(实参)&],它们在函数调用中起着重要作用。

形参与实参的定义与区别

形参是函数定义时括号中的变量,仅在函数内部有效。它在函数调用时被实例化,调用结束后立即销毁。形参是实参的临时拷贝,二者在内存中独立存在,修改形参不会影响实参。

实参是调用函数时传递的具体值,可以是常量、变量、表达式或函数返回值。实参的值在调用时被复制到形参中,函数执行结束后,实参的值保持不变。

其中错误用法 image.png

#include<stdio.h>
/*
参数。
在定义函数式,要求的值叫形参
在调用函数时,传入的值叫实参
参数传递:数据从实参传递到形参 
    注意:类型,数量,顺序要一致(形参和实参要一致) 

*/

void func1(int a, double b){
	printf("a=%d b=%f",a,b);
	
}
int main(){
	
	//func1(实参)
	//func1(1.1,12,100);  //只要两个参数 ,多了就会报错 
	func1(1);
	
	func1(1,2);
	
	func1(2,1);
	
	return 0;
	
}

作业·

#include<stdio.h>
/*
参数。
在定义函数式,要求的值叫形参
在调用函数时,传入的值叫实参
参数传递:数据从实参传递到形参 
    注意:类型,数量,顺序要一致(形参和实参要一致) 

*/
//任务一:请编写程序,计算[1-n]之间的偶数和 ,在函数内容打印结果即可 
void getSum(int n){
	int sum=0;
	for(int i=1;i<=n;i++){
	    if(i%2 == 0){
	    	sum +=i;
		}
	printf("1-%d之间的偶数和为:%d\n",n,sum);
}

//任务2:请编写程序,输入[2-9]之间的参数,在函数内容打印n*n乘法表即可
//
void printFunc1(int n){
    printf("\n") ;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			printf("%d * %d=%-5d",j,i,i*j);	
	    }
	printf("\n");
    }
} 
//任务3:编写程序,打印三个数中最大值 
void printFunc2(int a,int b,int c){
    int max = a;
    if(b>max)max=b;
    if(c>max)max=b;
    printf("最大值:%d\n"max);
}
int main(){
	getSum(4);//6=2+4

	printFunc1(9);//打印九九乘法表
	
	printFunc2 (3,2,1);//输出:3
	 
	return 0;
	
}