指针作为函数参数(处理数组的四种方式)

来源:互联网 发布:c语言经典案例 编辑:程序博客网 时间:2024/06/06 12:58
//数组名传递给指针子参数  #include <stdio.h>#define N 3float average(float * g); int main(){float grade[N]={60,75,80};printf("学生的平均成绩是:%.3f\n",average(grade)); }float average(float * g){float *a=g; //这句话很重要 float ave,sum=0;  for(;g<a+N;g++) //原来a的地方用g代替会出错:因为随g自增,条件恒满足,程序陷入死循环 sum+=*g;return ave=sum/N;}

-------------------------------------------------------------------------------------------------------------------------------------------------------

//数组名传递给数组名#include <stdio.h>#define N 3float average(float grade[N]); int main(){float grade[N]={60,75,80};printf("学生的平均成绩是:%.3f\n",average(grade)); }float average(float grade[N]){int i; //float ave,sum=0;  for(i=0;i<N;i++) //sum+=grade[i];return ave=sum/N;}

-------------------------------------------------------------------------------------------------------------------------------------------------------

//指针传递给数组名#include <stdio.h>#define N 3float average(float grade[N]); int main(){float grade[N]={60,75,80};float * a=grade; printf("学生的平均成绩是:%.3f\n",average(a)); }float average(float grade[N]){int i; //float ave,sum=0;  for(i=0;i<N;i++) //sum+=grade[i];return ave=sum/N;}

-------------------------------------------------------------------------------------------------------------------------------------------------------

//指针传递给指针子参数  #include <stdio.h>#define N 3float average(float * g); int main(){float grade[N]={60,75,80};float * a=grade; printf("学生的平均成绩是:%.3f\n",average(a)); }float average(float * g){float *a=g; //float ave,sum=0;  for(;g<a+N;g++) //sum+=*g;return ave=sum/N;}

//指针传递给指针子参数  
#include <stdio.h>
#define N 3
float average(float * g); 
int main()
{
float grade[N]={60,75,80};
float * a=grade; 
printf("学生的平均成绩是:%.3f\n",average(a)); 

}
float average(float * g)
{
float *a=g; //这句话很重要 
float ave,sum=0;  
for(;g<a+N;g++) //原来a的地方用g代替会出错:因为随g自增,条件恒满足,程序陷入死循环 
sum+=*g;
return ave=sum/N;

}


阅读全文
0 0
原创粉丝点击