当前位置: 代码迷 >> C语言 >> double型的问题,为什么结果是这样的?
  详细解决方案

double型的问题,为什么结果是这样的?

热度:241   发布时间:2007-09-25 01:33:09.0
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”。
我怎么想不明白
搜索更多相关的解决方案: double  结果  

----------------解决方案--------------------------------------------------------
以下是引用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”。
我怎么想不明白

看红色部分.

&关键是这个,刚才你把地址输出来了


----------------解决方案--------------------------------------------------------
&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();
}

[/CODE]
----------------解决方案--------------------------------------------------------
#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就对了……
----------------解决方案--------------------------------------------------------
  相关解决方案