score的數(shù)值范圍對結(jié)果有何影響?為什么?
#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嗎?
為什么當(dāng)score取值90000000000(9*10^10)輸出結(jié)果為普通玩家?
為什么當(dāng)score取值99999999999輸出結(jié)果卻為白金玩家?
為什么當(dāng)score取值999999999999999輸出結(jié)果為普通玩家?
2015-10-19
我看了一下,這臺機(jī)器 ? int 取值范圍是 : -2147483648~ 2147483647。當(dāng)你給的值是? 2147483648 時(shí),會變成負(fù)數(shù) -2147483648,再繼續(xù)加1 又能逐漸變成整數(shù),達(dá)到 2147483647時(shí) 又會變成 負(fù)數(shù)-2147483648。你拿你付的這幾個(gè)值來算算看。
2015-10-09
這個(gè)是編譯器自動改變了其值,你用GCC編譯器試試看,在linux下面
2015-10-08
你代碼里面沒有取值???score就是9啊