C语言中 这是什么意思啊?

C语言中
预编译里写
#define EPS le - 8
是什么意思啊?
// lz127.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#define EPS 1e-8
double fsinx(float x);
int main()
{
float x;
printf("运行结果为");
printf("输入X:");
scanf("%f",&x);
{
printf("递推法sin%0.4f=%0.8f\n",x,fsinx(x));
printf("调用库函数sin%0.4f=%0.8f\n",x,sin(x));
}
double fsinx(float x);
double n=1 ,xn=x,fact =1 ,sinx=x;
do
{
n=n+1;
xn = -xn*x*x;
fact=fact*(2*n-2)*(2*n-1);
sinx=sinx+xn/fact;
}
while (fabs(xn/fact)>1e-8);
return sin(x);
}
___________________________________
我那里出错了啊
1>lz127.obj : error LNK2019: 无法解析的外部符号 "double __cdecl fsinx(float)" (?fsinx@@YANM@Z),该符号在函数 _main 中被引用
1>D:\My Documents\Visual Studio 2008\Projects\lz127\Debug\lz127.exe : fatal error LNK1120: 1 个无法解析的外部命令

1 #define EPS le - 8
将所有后面出现的"EPS"进行文本替换为"le-8"

顺便一说,我刚回答了一个问题,不知道是不是也是你问的,这个地方应该是 数字1 而不是小写的 L,即1e-8表示 1.0*e的-8次方。

2 你需要把你自己写的函数 double fsinx(float x)的定义(就是花括号括起来的部分)一起拷贝到这个文件中,这样才不会有链接错误 LNK2019
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-14
用 EPS 表示(1e - 8)。
也就是说程序中凡是出现 EPS 的地方均用(1e - 8)替换!本回答被提问者采纳
第2个回答  2010-08-13
第一个
double fsinx(float x); 如果是外部函数,应该加上extern来调用,改成
extern double fsinx(float x);

第二个double fsinx(float x);
这次是调用函数了,所以要改成
fsinx(x);

#define的作用是宏定义,就是在编译器在碰到代码中有ESP的地方,都用后面的来代替!明白了?
第3个回答  2020-02-26
temp在这里只是一个中间变量,用来暂时存储a[i]的值。
两个变量a[i],a[i+1]借助temp完成交换数值
第4个回答  2019-01-19
temp的作用是将a[i]和a[i+1]的值对换。像这种用法很多地方都要用到,作用都是用于对换两个变量的值!
相似回答