十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你把大括号的位置放错了,sushu函数被定义在了main函数里面,但是按照C语言的规定,函数不允许嵌套定义,所以你的sushu相当于没有定义(不知为何你的编译器没有报错说不允许在函数内定义函数)。解决方法是把你最后面多出来的大括号移到main函数最后面。
创新互联是一家集网站建设,邵东企业网站建设,邵东品牌网站建设,网站定制,邵东网站建设报价,网络营销,网络优化,邵东网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
出现该错误的原因为编译时只变编译了源文件的一部分,故在链接时无法从编译好的目标代码中找到print函数,所以出错。
根据你的源文件结构,个人推荐先单独编译源文件为多个object文件,再统一链接。
方法如下
gcc -c main.c # -c参数的作用是让gcc只编译,不链接
gcc -c test.c
gcc -o main main.o test.o # 将编译好的目标代码链接
当然,以上是在gcc为编译器的前提下执行,如使用clang等其他编译器,方法类似(clang的调用方法与gcc高度兼容)
c语言 cos 是 余弦函数,须包含数学库头文件 math.h,
cos有一个参数,参数是以弧度计的角度。
#include math.h
double cos_deshu; // 要有变量声明
cos_deshu=cos(cos(0)); // cos 要有参数,这里假定括号内的是 cos(0);
printf("%lf",cos_deshu); //若输出,会得到 0.540302
在C语言中,出现未定义,简单来说有以下几种原因:
1、变量类型没有指定。
2、指定类型的方式与C++混淆了,特别是在.c文件中容易出现这种错误。
3、变量指定了类型,但是与使用的变量名不符合,使用的变量名会提示为未定义。
声明和定义不是一回事!声明只是签名,定义才为函数提供真正的代码。
cos()是库函数,在头文件math.h中,原型是double cos(double x);,其中x要用弧度表示。如求30°的余弦值可用下列代码实现:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
printf("cos30°= %.10f\n",cos(30*3.1415926535897932/180));
return 0;
}