谁帮我看看这个C程序

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:12:18
#include "stdio.h"
int main ()
{
int a1,sum;
printf("qing shuru\n");
scanf("%d",&a1);
sum=a1*a1*2000+10000;/*拿梦幻的金钱公式做练习*/
printf("%d",sum);
getch();
return 0;
}
为什么怎么算都是负数结果,我是新手,刚学初步,自已做着玩,大家指点下啊
。。。我是个刚学2天的新手- -!正在自学,用哪个代替int呢,不被溢出?

应该用 long 然后printf("%ld",....)

sum 无符号 整型变量 范围在 -32768~32767
如果可以的话用 long int

简单地说,INT数值类型范围太小了,你的计算结果溢出!

用double肯定可以

可以用long或者long long啊,还有%ld或者%lld