函数 c语言主体

29 阅读2分钟

主体

1.在定义函数的时候 ,如果形参是一个数组

css

    格式:类型 参数名[] 

2.如果在函数内部,修改了数组的元素,那么,原来的数组也会受到影响!

c
 
#include  <stdio.h>

void printArr(int arr[],int n){
	for(int i=0;i<n;i++){
		printf("%d\n",arr[i]);
	} 
}
	
int  main(){
	// int 类型的数组 
	int arr1[]={1,2,3,4,5,8,9};
	
	// 计算数组的元素个数:用数组的整体大小/单个元素大小 
	int n_arr1=sizeof(arr1)/sizeof(int); 
	
	printf("%d\n",n_arr1);
	
	printArr(arr1,n_arr1);
	int arr2[3]={7,8,9};
	printArr(arr2,3);
}

运行结果:

image.png

c

void funArr(int arr[]){
	arr[0]=100;
	arr[1]=200;
}
	
int main(){

	int arr[]={1,2};
	printf("%d %d\n",arr[0],arr[1]);
	funArr(arr);
	printf("%d %d",arr[0],arr[1]);
}

运行结果:

image.png

任务

c

#include <stdio.h>
/*
任务1:定义一个函数,它的参数是数组,它的返回值是数组中的所有元素的和。 
int getArrSum(int arr[],int len){

}
任务2:定义一个函数,它的参数是int数组,它的返回值是数组中的所有元素的最大值。 
int getArrMax(int arr[],int len){

}
任务3:定义一个函数,它的参数是int数组,和要查找的值。如果在这个数组中,能找到,则返回第一个找到的值的下标;如果找不到,则返回-1。
int findArrValue(int arr[],int len,int val){

}
*/

int getArrSum(int arr[],int len){
int sum = 0;
for(int i=0;i<len;i++){
	sum += arr[i];
}
return sum;
}

int getArrMax(int arr[],int len){
//假设法:第一个元素是最大的 
int max;
max=arr[0];
for(int i=1;i<3;i++){
	if(arr[i]>max){
		max=arr[i];
	}
}
return max;
}

int  findArrValue(int arr[],int len,int val){
	int idx = -1;//假设找不到
	for(int i=0;i<len;i++){
		if(arr[i] == val){
			idx=i;
			break;
		}
	} 
	return idx;
}

int main(){
	int arr[3] = {1,2,10};
	printf("%d\n",getArrSum(arr,3));
	printf("%d\n",getArrMax(arr,3));
	printf("%d\n",findArrValue(arr,3,10));//2
	printf("%d",findArrValue(arr,3,-10));//-1
} 

运行结果:

image.png