C语言指针变量作形参的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/15 17:22:32
《谭浩强 C程序设计》中的例题10.14,有一处是for语句的循环变量赋初值,小弟不知道怎么写,还请各位达人给予帮助啊。

#include <stdio.h>

void average(float *p,int n)
{
float *p_end;
float sum=0,aver;
p_end=p+n-1;
for(;p<=p_end;p++) //循环变量赋初值语句是什么呢?
sum=sum+(*p);
aver=sum/n;
printf("average=%5.2f\n",aver);
}

void search(float (*p)[4],int n)
{
int i;
printf("the score of No.%d are:\n",n);
for(i=0;i<4;i++)
printf("%5.2f",*(*(p+n)+i));
}

main()
{
float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
average(*score,12);
search(score,2);
}

for(这里是赋初值;判断条件;运行语句)
{
循环体;
}
赋初值就是第一个条件了,你的这个之所以为空白是因为p本身已经有初值了(靠void average(float *p,int n)函数传值进来的),所以在这里没有必要再次赋初值了 不知道你听明白了没有

for(;这里是最重要的;)而两边是你所加的次要的语句!赋初始值正如楼上所说!

就是这个函数传进来的参数啊,p!