const 和 define 定义常量时,两个数的范围不同。
#include
usingnamespace std;
constint maxn=1e+10;
int main()
{
printf("%d",maxn);
return0;
}
然后输出是:
2147483647
如果用 define 定义的话:
#include
#define maxn 1e+10
usingnamespace std;
int main()
{
printf("%d",maxn);
return0;
}
输出是:
536870912
但是,如果将输出的 %d 改为 %lld 的话,输出为:
4756540486875873280
那么,可以思考一下,如果将 const 的数据也改成 longlong 的话,输出为:
10000000000
刚好为我们想要的那个答案。
数据的范围还有输出的格式很重要!!!