一个关于结构的问题,初学c请指点
#include<stdio.h>#define N 3
struct triangle
{
double side1;
double side2;
double side3;
};
int a(struct triangel *);
void main()
{
struct triangle b[N];
int x,y;
printf("输入3个三角形的信息\n");
for(x=0;x<N;x++)
{
printf("输入第%d个三角形的三条边长\n",x+1);
fflush(stdin);
scanf("%lf%lf%lf",&b[x].side1,&b[x].side2,&b[x].side3);
}
for(x=0;x<N;x++)
{
y=a(&b[x]);
if(y==1)
printf("第%d个三角形为等边三角形\n",x+1);
else if(y==2)
printf("第%d个三角形为不等边三角形\n",x+1);
else if(y==3)
printf("第%d个三角形为等腰三角形\n",x+1);
}
}
int a(struct triangle *ptr)
{
int z;
if((ptr->side1+ptr->side2+ptr->side3)==ptr->side1*3)
{
z=1;
return z;
}
else if((ptr->side1!=ptr->side2)&&(ptr->side1!=ptr->side3)&&(ptr->side2!=ptr->side3))
{
z=2;
return z;
}
else
{
z=3;
return z;
}
}
次程序是用结构判断输入的是哪种类型的三角形,但为什么编译的时候说错误为
error C2664: 'a' : cannot convert parameter 1 from 'struct triangle *' to 'struct triangel *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
但是我用同样的方法实现了。学员信息的处理。请问哪里有问题