C语言中出现这样的错误error C2100: illegal indirection
程序是这样的:#include<stdio.h>#include<string.h>voidaverage(float*p,intn,float*aver){inti;f...
程序是这样的:
#include<stdio.h>
#include<string.h>
void average(float *p,int n,float *aver)
{
int i;
float *p_end,sum=0;
p_end=p+n-i;
for(;p<=p_end;p++)
sum=sum+(*p);
*aver=sum/n;
}
void search(float (*p)[4],int n,float *grade)
{
int i=0;
for(i=0;i<4;i++)
{
grade[i]=*(*(p+n)+i);
*(grade+i);
}
}
main()
{
void average(float *p,int n,float *aver);
void search(float (*p)[4],int n,float *grade);
float score[3][4]={{65,67,79,60},{80,87,90,81},{90,99,100,98}};
float aver,grade[4];
int i;
average(*score,12,&aver);
search(score,2,grade);
printf("%5.2f\n",*aver); \\错误在这里illegal indirection
for(i=0;i<4;i++)
printf("%5.2f\n",grade[i]);
return 0;
} 展开
#include<stdio.h>
#include<string.h>
void average(float *p,int n,float *aver)
{
int i;
float *p_end,sum=0;
p_end=p+n-i;
for(;p<=p_end;p++)
sum=sum+(*p);
*aver=sum/n;
}
void search(float (*p)[4],int n,float *grade)
{
int i=0;
for(i=0;i<4;i++)
{
grade[i]=*(*(p+n)+i);
*(grade+i);
}
}
main()
{
void average(float *p,int n,float *aver);
void search(float (*p)[4],int n,float *grade);
float score[3][4]={{65,67,79,60},{80,87,90,81},{90,99,100,98}};
float aver,grade[4];
int i;
average(*score,12,&aver);
search(score,2,grade);
printf("%5.2f\n",*aver); \\错误在这里illegal indirection
for(i=0;i<4;i++)
printf("%5.2f\n",grade[i]);
return 0;
} 展开
2个回答
展开全部
printf("%5.2f\n",*aver); \\错误在这里illegal indirection
不需要* 号
不需要* 号
更多追问追答
追问
还是运行不出来啊,倒是不说哪里错了,就 .exe停止工作了,求指教!!!
追答
让我看看,
应该是什么逻辑错误
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询