在C中使用函数将角度从度转换为弧度

在C中使用函数将角度从度转换为弧度,c,C,作为一个更广泛的项目的一部分,我得到了一个角度,以度为单位,需要转换为弧度进行一些计算 到目前为止,我有以下几点: #include <stdio.h> #include <stdlib.h> #include <math.h> feature1() { double angle = 90.0000, angle2; angle2 = convert_to_rad(angle); printf("%lf", &angle);

作为一个更广泛的项目的一部分,我得到了一个角度,以度为单位,需要转换为弧度进行一些计算

到目前为止,我有以下几点:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

feature1()
{
    double angle = 90.0000, angle2;
    angle2 = convert_to_rad(angle);
    printf("%lf", &angle);
}

double convert_to_rad(double angle_in_deg)
{
    double angle_in_rad;
    angle_in_rad = (angle_in_deg * M_PI) / 180;
    return angle_in_rad;
}

为什么不修改格式呢

无论如何,使用转发声明

i、 e.地点

double convert_to_rad(double angle_in_deg);

在feature1函数之前的开始部分,首先,非常感谢,这解决了问题。第二,我在赶时间,严格的大学截止日期,很抱歉冒犯了你。@DanielWootton:作为一个新用户,你应该采取行动。另请阅读。或者,另一个选项是在调用它之前定义convert_to_rad。请注意,feature1函数应该具有返回类型void,因为它不返回值。此外,它会计算但忽略角度2,因此代码甚至不需要将_转换为_rad。一般来说,用换行符结束printf输出也是一个好主意。我可以看出代码是示例代码,但也要确保编译时使用的选项会迫使您在使用函数之前声明或定义函数。有了GCC,-Wmissing原型和-Wstrict原型,就可以做到这一点;还有其他相关的选择。@JonathanLeffler-也许-Wall更好option@EdHeal:嗯,这取决于您是否还为C99或C11合规性指定了语言版本。是的,应该使用墙;所以应该使用-Wextra,甚至-Werror,我使用-Wold样式声明和-Wold样式定义,其中一个是-Wall或-Wextra的一部分,但另一个不是,所以我写这两个,所以我不必记住哪个是哪个,还有-std=c11,通常还有-g-O3。从汇编中得到的警告取决于您使用的GCC版本;它们随时间而变化。@JonathanLeffler=基本上打开所有警告/使它们出错。不能错得太远that@EdHeal:差不多!遗憾的是,-沃尔并没有把它们全部打开,或者,也许,这是一个用词不当的现象,每个人都认识到了这一点,而-Wextra是一个更好的名字。我为之编写的代码很少,因此无法在我使用的选项O3-g-std=c11-Wall-Wextra-Werror-Wmissing prototype-Wstrict prototype-Wold样式声明-Wold样式定义下干净地编译。我偶尔会在这个全景图中添加一些选项,比如-Wshadow,但我很少在常规基础上需要它。