Drawlight
2015-10-07 21:55
#include <stdio.h>
int main()
{
int score = 9;
//完善一下代码
if (score >= 10000)
{
printf("钻石玩家");
}
else if (score >= 5000 && score < 10000)
{
printf("白金玩家");
}
else if (score >= 1000 && score < 5000)
{
printf("青铜玩家");
}
else
{
printf("普通玩家");
}
return 0;
}
int 的范围不是-2^13到2^13-1吗?
为什么当score取值90000000000(9*10^10)输出结果为普通玩家?
为什么当score取值99999999999输出结果却为白金玩家?
为什么当score取值999999999999999输出结果为普通玩家?
我看了一下,这台机器 int 取值范围是 : -2147483648~ 2147483647。当你给的值是 2147483648 时,会变成负数 -2147483648,再继续加1 又能逐渐变成整数,达到 2147483647时 又会变成 负数-2147483648。你拿你付的这几个值来算算看。
这个是编译器自动改变了其值,你用GCC编译器试试看,在linux下面
你代码里面没有取值啊?score就是9啊
C语言入门
926025 学习 · 20793 问题
相似问题