练习(大学)的目的是创建一个函数,在给定3个角的坐标的情况下计算三角形的周长。 我是C的初学者,经过一些工作,我设法创建了一个或多或少完成预期工作的代码,但是我偶然发现了以下错误:
trperim.c:25:1:错误:预期的标识符或'('''''''之前的标记 { ^ trperim.c:31:58:错误:预期的标识符或'('''''''之前的标记 double trperim(double r1 [2],double r2 [2],double r3 [2]); {
我一直无法解决这个问题,所以我转向这个社区。任何帮助将不胜感激。
#include<stdio.h>
#include<math.h>
double trperim(double r1[2], double r2[2], double r3[2]);
double norm(double r[2]);
main()
{
double r1[2], r2[2], r3[2];
printf("Ingrese las coordenadas del primer vertice en x:");
scanf("%lf",&r1[0]);
printf("Ingrese las coordenadas del primer vertice en y:");
scanf("%lf",&r1[1]);
printf("Ingrese las coordenadas del segundo vertice en x:");
scanf("%lf",&r2[0]);
printf("Ingrese las coordenadas del segundo vertice en y:");
scanf("%lf",&r2[1]);
printf("Ingrese las coordenadas del tercer vertice en x:");
scanf("%lf",&r3[0]);
printf("Ingrese las coordenadas del tercer vertice en y:");
scanf("%lf",&r3[1]);
printf("El perimetro del triangulo es %f\n", trperim(r1,r2,r3));
}
double norm(double r[2]);
{
double modulo, r[2];
modulo=sqrt(pow(r[0],2)+pow(r[1],2));
return modulo;
}
double trperim(double r1[2], double r2[2], double r3[2]);{
double nr1, nr2, nr3, p;
nr1=norm(r1-r2);
nr2=norm(r2-r3);
nr3=norm(r3-r1);
p=nr1+nr2+nr3;
return p;
}
答案 0 :(得分:1)
从功能定义中移除;
和....(double r[2])
之后的...double r3[2])
。
在您的代码中
double norm(double r[2]);
...
double trperim(double r1[2], double r2[2], double r3[2]);{
应该是
double norm(double r[2])
....
double trperim(double r1[2], double r2[2], double r3[2]) {
也就是说,重命名r
中的局部变量norm()
,因为您已经有r
作为函数参数。