用户定义的函数

时间:2016-02-12 04:56:05

标签: c

我试图使用main中的3个单独的用户定义函数来计算三角形和圆形的面积。编译后,GetInt功能正常工作,但其他两个功能'对于我在Microsoft Visual Studio 2013上的c程序,计算不能准确地在屏幕上打印。我做错了什么?

#define _CRT_SECURE_NO_WARNINGS
#define PI 3.14159
#include <stdio.h>
#include <math.h>

int GetInt(void);
double CalcTriangleArea(int base, int height);
double CalcCircleArea(int radius);

int main(void)
{
   printf("%d", GetInt());
   printf("%f", CalcTriangleArea);
   printf("%f", CalcCircleArea);

   return(0);
}

int GetInt(void)
{
   int radius, base, height;

   printf("What is the radius of the circle? \n\n");
   scanf("%d", &radius);

   printf("What is the base of the triangle? \n\n");
   scanf("%d", &base);

   printf("\nthe height of the triangle? \n\n");
   scanf("%d", &height);

   return (radius, base, height);
}

double CalcTriangleArea(int base, int height)
{
   double triangleArea;
   printf("Triangle area is %.2f \n\n", triangleArea = .5*base*height);

   return(0);
}

double CalcCircleArea(int radius)

{
   double circleArea;
   printf("Circle area is %.4f \n\n", circleArea = PI * pow(radius, 2));

   return(0);
}

2 个答案:

答案 0 :(得分:1)

CalcTriangleArea没有调用函数,它使用的是函数地址。试试CalcTriangleArea()

编辑:注意到CalcTriangleArea需要参数 - 您也需要传递参数。

编辑:您认为如何返回3个值?

答案 1 :(得分:0)

对于CalcTriangleAreaCalcCircleArea,如果您要在功能中打印结果,则无需使用printf。你可以简单地在main中调用它们:

GetInt();
CalcTriangleArea(base, height);

另外,如果这是你正在采用的方法(在函数中打印结果并返回0),你的函数可以这样声明:

void myFunction(int arg1, int arg2)

由于您没有返回正在使用的任何内容,因此使用void类型可以让您拥有一个没有明确返回的函数。