当前位置: 代码迷 >> C语言 >> [求助]结果怎么不对???
  详细解决方案

[求助]结果怎么不对???

热度:280   发布时间:2005-10-15 11:14:00.0
[求助]结果怎么不对???

main ()

{double d=3.2; int x,y;

x=1.2; y=(x+3.8/5.0);

printf("%d\n",d*y); getch();

} 结果是-26214不明白为什么

搜索更多相关的解决方案: 结果  

----------------解决方案--------------------------------------------------------
程序有问题!
1。没有引入头文件#include<stdio.h>
2。x你已经声明为整型,不可能接受1.2这个赋值
3。d*y结果为double型的,应该用%lf而不是%d
----------------解决方案--------------------------------------------------------
还有main函数的类型没有声明,
----------------解决方案--------------------------------------------------------
使用getch() 还要加入头文件<conio.h>
----------------解决方案--------------------------------------------------------
d*y结果是float型,所以在printf("%d\n",d*y)中你不能用%d来输出d*y。
把该语句改成printf("%f\n",d*y),可输出正确的结果。
----------------解决方案--------------------------------------------------------
[QUOTE]还有main函数的类型没有声明,[/QUOTE]
因为main函数不会被任何函数调用,所以main函数没有声明类型是可以的.
----------------解决方案--------------------------------------------------------

#include"stdio.h" #include"conio.h" void main () { double d=3.2,x=1.2,y; y=(x+3.8/5.0);

printf("%lf\n",d*y); getch(); } 我在VC下测试通过结果6.272000


----------------解决方案--------------------------------------------------------

#include"iostream.h" #include"conio.h" void main () { double d=3.2,x=1.2,y; y=(x+3.8/5.0);

cout<<d*y<<endl; getch(); }

以上是C++代码


----------------解决方案--------------------------------------------------------
以下是引用Bjarne在2005-10-24 20:00:36的发言: , 因为main函数不会被任何函数调用,所以main函数没有声明类型是可以的.
C中的main 必须要有一个返回值 而我们平时十分不注意的是时常把int main 给写成了void main 这个是错误的 包括很多课本都有类似的错误 大家注意
----------------解决方案--------------------------------------------------------

改成下面这样,在bc3。1下调试,正确结果是3.2 。其中因为x,y都是整型,故程序里赋值后的结果是x=1,y=1 main ()

{double d=3.2; int x,y;

x=1.2; y=(x+3.8/5.0);

printf("%f\n",d*y);

}


----------------解决方案--------------------------------------------------------
  相关解决方案