当前位置: 代码迷 >> C语言 >> 求助C语言数值问题
  详细解决方案

求助C语言数值问题

热度:190   发布时间:2006-01-20 13:57:00.0
求助C语言数值问题
#include<math.h>
#include<conio.h>
#include<stdio.h>
main()
{
long int sum=0;
int a=10000,b=50;
sum=a*b;
printf("%d\n",sum);
getch();
exit(0);
}
打印结果本应是500000,但实际是-24288,哪位帮帮忙解释一下什么原因,谢谢!
搜索更多相关的解决方案: C语言  数值  

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

VC里调试成功。

[此贴子已经被作者于2006-1-20 14:33:48编辑过]


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

我是在turboc2里的,怎么弄都不行


----------------解决方案--------------------------------------------------------
#include<math.h>
#include<conio.h>
#include<stdio.h>
main()
{
long int sum=0;
long int a=10000,b=50;
sum=a*b;
printf("%ld\n",sum);
getch();
exit(0);
}
----------------解决方案--------------------------------------------------------
对,应该是PRINTF的问题
----------------解决方案--------------------------------------------------------

谢谢各位帮助!已经解决,是print的问题。


----------------解决方案--------------------------------------------------------
我觉得你是不是应该看看整型变量的范围,如果想得到预期的效果,int应改为long int
这样就对了
----------------解决方案--------------------------------------------------------
还有输出格式应改为%ld,看看对不对
----------------解决方案--------------------------------------------------------
以下是引用kankanba在2006-1-20 14:29:00的发言:

VC里调试成功。



VC 的 int 类型是32位宽。

7楼来了个厉害的新丫头。
----------------解决方案--------------------------------------------------------

7楼说的没错,但上述函数是另一函数的子程序,a,b限定是int ,所以只能在printf上想办法


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