我正在阅读C书,我看到了这个方法声明:
double sin(double x)
我正试图运行这个例子,这就是我所拥有的:
main()
{
sin(1);
}
它什么都不打印,如何打印sin(x);
?
答案 0 :(得分:1)
double sin(double x)
是在math.h标头中声明的函数。它可以在你想要的任何地方使用 - 在main()或你编写的在main()中调用的任何其他函数中。但是,你在main中调用它的方式将不起作用。 sin()函数将double作为输入并返回double作为输出,因此您必须存储此结果才能对其执行任何操作。例如:
#include <math.h>
void main()
{
double x, y;
x = 3.14159;
y = sin(x);
}
现在y包含x的正弦值,在本例中为0。
答案 1 :(得分:0)
好吧,你应该先打开C language book,但这里是基本的解释:
test.c的:
#include <math.h>
int main()
{
double x = sin(1);
}
有一个名为“预处理器”的东西可以解析你的源代码并生成一个“纯C”源代码,如果你运行它可以发现:
gcc -E test.c
#include
指令是预处理程序关键字(提示:它们都以#
开头),其中包含从源代码的包含路径给出的文件名,因此该函数的声明可在test.c
源代码中找到。
声明是您粘贴的表单:
double sin(double x);
它只告诉编译器sin()
函数是否存在,它本身不是sin()
函数。
但sin()
的定义不在该源文件中。那是因为还有另一个称为“链接”的阶段,它获取编译库的符号并使用与文件中的符号相关联的符号。 sin()
符号位于其中一个库中。
这是基础知识,现在是时候阅读a book了,因为要了解C还需要了解更多内容。