关于printf函数

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:07:26
main()
{
long x;
x=32767*32767;
printf("%d\n",x);
}
我定义的x为long,可为什么输出结果会溢出,变成1呢?
我用的是tc2.0 用过了printf("%ld\n",x),但是不行

main()
{
long x;
x=32767*32767;
printf("%ld\n",x);
}
应该可以吧!试一下

x=32767*32767;
改成x=(long)32767*(long)32767;
turboc这样的编译器要先将32767转换成长整型
还有就是printf("%ld\n",x);