c 长整型 运算

来源:百度知道 编辑:UC知道 时间:2024/05/26 04:39:12
long a;
int b;
b=25;
a=b*3600;
printf("%d",a);
试了很多次,结果不正确

输出应该用%ld,运算的时候,b前面最好是加一个强制类型转换符号
a=(long)b * 3600;

长整型的格式控制符不是%d 而是 %ld
改成 printf("%ld",a);

完整代码如下:#include<stdio.h>
main()
{
long a;
int b=25;
a=b*3600;
printf("%ld",a);
system("PAUSE");
return 0;
}
DEV C++运行过了 正确的

最后一句 printf("%ld",a);
%d 是整形变量 范围在 -32768~+32767之间 你的 预算结果 明显要大过这个数字 数据溢出 所以答案不对
%ld 是 long型的 格式符
我是这么 理解的 你可以试验下

数据的类型不一致啊
a=(long)b*3600
printf("%ld",a)

如果你用VC++ 6.0的话建议你使用<IOSTREAM>
,注意
using namespace std;
最后使用
cout<<a<<endl; //a就是你程序里的a