我用的是Dev C++ 有个下问题~请前辈指点下

来源:百度知道 编辑:UC知道 时间:2024/06/04 13:13:04
#include<stdio.h>
main()
{
int num;
num=67899;
printf("%d",num);
getch();
}

我运行了这个程序~~结果是对的啊~~书上写的是说超过了整形数据的表示范围要我这个修改,
#include<stdio.h>
main()
{
long int num;
num=67899;
printf("%ld",num);
getch();
}

这是怎么回事~~是Dev C++这个编译器可以计算更大数据的功能吗~~就是不用长整形变量也能算出来

这是由于你的教材是以过去的16位平台为准的,int型的最大值就是65535,所以67899就越界了,而现在使用的都是32位(已经在向64位过渡),所以int值的最大值就是2的32次方减1,也就是4294967295,所以这个程序是不会出错的。

建议更换一本“现代化”的教材,不要再用这些古书了。