C语言怎么判断两个double型相等?下面程序错在哪?

#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;

scanf("%lf",a);
scanf("%lf",b);
c=(fabs(a-b));
if (c<=0.0001)
printf("123");
else
printf("456");

return 0;
}

第1个回答  2011-07-19
scanf的用法错了。
scanf的用法是:第一个参数是格式,后面的参数填入指针。
例:
double a;
scanf("%ld",&a); // "&"是取指针符号

char c[100];
scanf("%s",c); //在数组中,数组名其实就是指向数组第一个元素的指针,即 c 就是 &c[0]。

int b;
scanf("%d",&b);
第2个回答  2011-07-19
scanf("%lf",&a);
scanf("%lf",&b);

值没有读进来本回答被提问者采纳
相似回答