我在c中写了我的单词
#include <stdio.h>
void hallo( double );
int main( void )
{
double radius=0;
double umfang=0;
double flaeche=0;
printf("\n Kreisberechnung\n ===============\n");
printf("\nDieses Programm berechnet Umfang und Flaeche"
"\neines Kreises aus einem Radius.\n");
printf("Bitte Radius eingeben: ");
scanf("%lf", &radius);
hallo();
return 0;
}
void hallo( double radius )
{
umfang = 2.0 * radius * 3.14159265359;
flaeche = radius * radius * 3.14159265359;
printf("\nMit Radius = %lf cm wird\n", radius);
printf("der Kreisumfang = %lf cm und\n", umfang);
printf("die Kreisflaeche = %lf qcm.\n", flaeche);
/* getchar(); */
scanf("%lf", &radius);
}
但我在函数声明中有错误
void hallo( double );
错误是
论点太少...... 我确信其余的代码是正确的,错误就在那里;你能帮忙吗
答案 0 :(得分:8)
您已声明hallo
采用double
类型的参数,但您没有参数调用它。
hallo();
错误信息非常清楚。您确实从用户获取半径,但您从不使用它。你需要使用:
hallo(radius);
另请注意,在致电scanf
后,您未执行任何错误检查。
答案 1 :(得分:3)
当你打电话给hallo();在第23行,你没有给它任何参数,也许传递给它半径。
此外,在第32行和第33行,您没有指定类型,因此您得到未声明的错误。
我得到的代码可以通过这些改动进行编译。
#include <stdio.h>
void hallo( double );
int main( void )
{
double radius=0;
double umfang=0;
double flaeche=0;
printf("\n Kreisberechnung\n ===============\n");
printf("\nDieses Programm berechnet Umfang und Flaeche"
"\neines Kreises aus einem Radius.\n");
printf("Bitte Radius eingeben: ");
scanf("%lf", &radius);
hallo(radius);
return 0;
}
void hallo( double radius )
{
double umfang = 2.0 * radius * 3.14159265359;
double flaeche = radius * radius * 3.14159265359;
printf("\nMit Radius = %lf cm wird\n", radius);
printf("der Kreisumfang = %lf cm und\n", umfang);
printf("die Kreisflaeche = %lf qcm.\n", flaeche);
/* getchar(); */
scanf("%lf", &radius);
}
的键盘上