我的代码中不断出现这些错误,我不确定它们的含义,有人可以向我解释它们的含义吗?
错误:
lab62.c:在函数'circumfence'中:
lab62.c:7:1:错误:在 'void' 之前需要 '='、','、';'、'asm' 或 '<strong>attribute'</p>
lab62.c:31:1: 错误:在 '{' 标记 lab62.c:40:1: 错误:预期 ' ='、','、';'、'asm' 或 '<strong>attribute' 在 '{' 标记之前
lab62.c:49:1: 错误:在 '{' 标记之前需要 '='、','、';'、'asm' 或 '<strong>attribute'
lab62.c:55:1:错误:输入结束时应为“{”
编辑:我刚刚在函数中添加了分号,现在我得到了所有这些错误
lab62.c:在函数'circumfence'中:
lab62.c:36:2:警告:格式“%f”需要“double”类型的参数,但参数 2 的类型为“float *”[-Wformat]
lab62.c:在功能“区域”中:
lab62.c:44:8: 错误:二进制 ^ 的操作数无效(有 'float' 和 'int')
lab62.c:45:2:警告:格式“%f”需要“double”类型的参数,但参数 2 的类型为“float *”[-Wformat]
lab62.c:在函数“体积”中:
lab62.c:50:8: 错误: 'v' 重新声明为不同类型的符号
lab62.c:48:19:注意:之前对“v”的定义在这里
lab62.c:52:31: error: 'r' undeclared (第一次在这个函数中使用)
lab62.c:52:31:注意:每个未声明的标识符对于它出现的每个函数只报告一次
lab62.c:54:2:警告:格式“%f”需要“double”类型的参数,但参数 2 的类型为“float *”[-Wformat]
源代码:
#include <stdio.h>
#include <math.h>
#define pi 3.147
void circumfrence(float r)
void area(float r)
void volume(float r)
int main()
{
void (*f[3])(float) = { circumfrence, area, volume };
int choice;
float r;
printf("enter a value for the radius\n");
scanf("%f", &r);
printf("enter a number between 0 and 2, 3 to end: ");
scanf("%d", &choice);
while(choice >= 0 && choice < 3) {
(*f[choice])(r);
printf("enter a number between 0 and 2, 3 to end: ");
scanf("%d", &choice);
}
printf("program execution completed\n ");
return 0;
}
void circumfrence(float r)
{
float c;
printf("you wish to process the area");
printf("the radius is %f: ", r);
c = (2*r)*pi;
printf("%f", &c);
}
void area(float r)
{
float a;
printf("you wish to process the volume");
printf("the radius is %f: ", r);
a = (r^2)*pi;
printf("%f", &a);
}
void volume(float v)
{
float v;
printf("you wish to process the circumfrence");
printf("the radius is %f: ", r);
v = (4/3)*(r^3)*(pi);
printf("%f", &v);
}