计算圆柱体的表面积和体积 - C.

时间:2017-06-16 15:55:18

标签: c

我正在编写一个不返回任何数据的函数。程序计算圆柱体的面积和体积。我试图使用的公式是surfacearea =2π*(半径)^ 2 +高度*(2π*半径)和体积=π*(半径)^ 2 *高度 我在设置方程时遇到了麻烦。我有这个:

surface_area_calc = (2 * PI) ∗ (pow (radius,2)) + height ∗ ((2 * PI) ∗ 
radius);
volume_calc = PI ∗ (pow (radius,2)) ∗ height;

但我确定这是错的,因为我在尝试编译程序时遇到错误。我得到的错误是说'在文字和标识符之外不允许使用非ASCII字符'。

3 个答案:

答案 0 :(得分:3)

不要将=放在宏

#define PI 3.14159...

=将其复制到代码

volume_calc = PI ∗ (pow (radius,2)) ∗ height;

变为

volume_calc = = 3.14159 ∗ (pow (radius,2)) ∗ height;
//            ^^^^^^^^^

这是语法错误。

答案 1 :(得分:2)

您有两种选择,而不是错误的

#define PI = 3.14159265358979323846

坚持使用pre-processor macro并执行

#define PI 3.14159265358979323846

或通过

使用const限定的C变量
const double PI = 3.14159265358979323846;

由于代码使用库函数pow(),代码应该为编译器提供此函数的原型。

这可以通过包含适当的库头来实现。在这种情况下,请执行:

#include <math.h>

到编译完成时,告诉链接器实际链接实现math.h(通常驻留在libm.*)中的东西的库(对于GCC)使用选项

-lm

(more here)

请注意,在通过编译器引导链接器时,需要在源文件之后使用库提供的库来指定库

gcc main.c -o main -lm

以下情况最有可能失败

gcc -lm main.c -o main

答案 2 :(得分:1)

你在Linux吗?是这样,做:

#include <math.h>

位于代码顶部并使用-lm进行编译,如下所示:

gcc test.c -o test -lm