[求助]结果怎么不对???
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);
}
----------------解决方案--------------------------------------------------------