double型的问题,为什么结果是这样的?
#include "stdio.h"void main()
{
double x=0.0;
double y;
scanf("%f",&x);
y=x;
printf("%1.4f",&x);
getch();
}
程序如上面。比如输入“1”,结果却是“0.0000”。
我怎么想不明白
----------------解决方案--------------------------------------------------------
以下是引用luo123在2007-9-25 1:33:09的发言:
#include "stdio.h"
void main()
{
double x=0.0;
double y;
scanf("%f",&x);
y=x;
printf("%1.4f",x);
getch();
}
程序如上面。比如输入“1”,结果却是“0.0000”。
我怎么想不明白
#include "stdio.h"
void main()
{
double x=0.0;
double y;
scanf("%f",&x);
y=x;
printf("%1.4f",x);
getch();
}
程序如上面。比如输入“1”,结果却是“0.0000”。
我怎么想不明白
看红色部分.
&关键是这个,刚才你把地址输出来了
----------------解决方案--------------------------------------------------------
&x是指地址了.
另外VOID MAIN不规则.
最后赋值的时候只用0就行了.
----------------解决方案--------------------------------------------------------
问个问题
printf("%d",AA);
AA可以直接用数字代替吗如用10:
printf("%d",10);
----------------解决方案--------------------------------------------------------
可以
----------------解决方案--------------------------------------------------------
[CODE]
#include "stdio.h"
void main()
{
double x=0.0;
double y;
scanf("%lf",&x);//%lf
y=x;
printf("%1.4lf",&x);//double是%lf
getch();
}
----------------解决方案--------------------------------------------------------
#include "stdio.h"
void main(void)
{
double x=0.0;
double y;
scanf("%lf",&x);
y=x;
printf("%1.4f",x);
getch();
}
可以了。不过为什么加多一个“&”输出就是0.0000(这个是地址的表示吗?)。
[此贴子已经被作者于2007-9-25 17:41:09编辑过]
----------------解决方案--------------------------------------------------------
你的y都没用,还有把你的%f改为%lf就对了……
----------------解决方案--------------------------------------------------------