C語言中int的取值範圍為:-2147483648 ~?2147483647。超過了這個範圍進行賦值,C源代碼是無法通過編譯的。
下面給出簡單的測試代碼:
# include <stdio.h>
int main(void)
{
int i = 100000000000000000000000000000000000000000000;
printf("%d\n", i);?
return 0;
}
可以看到編譯器提示這個定義類型的賦值太大了,導致無法編譯成功。
擴展資料C/C++編程語言中,int表示整型變量,是壹種數據類型,用於定義壹個整型變量,在不同編譯環境有不同的大小,不同編譯運行環境大小不同。在32/64位系統中都是32位,範圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。
原因:總位數位32位,符號位占用1位,且每壹位只能表示兩種狀態。int數值位最大只允許31位 = 32 - 符號位 ,所以說:2的31次方 = 2147483648得出了int函數的最大取值範圍。
參考資料
百度百科_int函數