コードでこれらのエラーが発生し続けていますが、その意味がわかりません。誰か私にその意味を説明してもらえますか?
エラー:
lab62.c: 関数 'circumfrence' 内:
lab62.c:7:1: エラー: 「void」の前に「=」、「,」、「;」、「asm」または「<strong>attribute」が必要です</p>
lab62.c:31:1: エラー: 予想される '='、','、';'、'asm' または '<strong>attribute' が '{' トークン lab62.c:40:1: エラー: 予想される ' ='、','、';'、'asm' または '{' トークンの前の '<strong>attribute'
lab62.c:49:1: エラー: '{' トークンの前に '='、','、';'、'asm' または '<strong>attribute' が必要です
lab62.c:55:1: エラー: 入力の最後に「{」が必要です
編集:関数にセミコロンを追加したところ、これらすべてのエラーが発生しています
lab62.c: 関数 'circumfrence' 内:
lab62.c:36:2: 警告: フォーマット '%f' はタイプ 'double' の引数を想定していますが、引数 2 のタイプは 'float *' [-Wformat]
lab62.c: 関数 'area' 内:
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: エラー: 'r' が宣言されていません (この関数で最初に使用)
lab62.c:52:31: 注: 宣言されていない各識別子は、それが現れる関数ごとに 1 回だけ報告されます
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);
}