如何用C编写函数

时间:2012-06-24 21:21:17

标签: c function

我在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 );

错误是

  

论点太少......   我确信其余的代码是正确的,错误就在那里;你能帮忙吗

2 个答案:

答案 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);

}

它位于http://codepad.org/SDpXztrQ

的键盘上