本文將詳細(xì)介紹C語(yǔ)言中的整數(shù)類型及其范圍,以及如何判斷一個(gè)整數(shù)是否合法。
1. C語(yǔ)言中的整數(shù)類型
tggg。它們的大小和范圍分別如下
- char1字節(jié),-128~127或0~255
- short2字節(jié),-32768~32767或0~65535t4字節(jié),-2147483648~2147483647或0~4294967295g4字節(jié),-2147483648~2147483647或0~4294967295gg8字節(jié),-9223372036854775808~9223372036854775807或0~18446744073709551615
2. 如何判斷一個(gè)整數(shù)是否合法
一個(gè)整數(shù)在C語(yǔ)言中是否合法,需要滿足以下幾個(gè)條件
- 整數(shù)不能包含小數(shù)點(diǎn)或指數(shù)部分。
- 整數(shù)不能包含任何字母或特殊符號(hào),除了正負(fù)號(hào)。
- 整數(shù)的值必須在其類型的范圍內(nèi)。
例如,以下整數(shù)都是合法的
- 123
- -456
- 2147483647
而以下整數(shù)都是不合法的
- 1.23
- 1e4
- 123a
- 2147483648
3. 實(shí)例
下面是一個(gè)判斷整數(shù)是否合法的例子
```cclude
tain() {
char str[100];tum;
tf("請(qǐng)輸入一個(gè)整數(shù)"););
// 判斷是否包含非法字符t i = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i]) && str[i] != '-' && str[i] != '+') {tf");
exit(0);
}
}
// 轉(zhuǎn)換為整數(shù)um = atoi(str);
t范圍內(nèi)umum< -2147483648) {tft");
exit(0);
}
tfum);
t類型的范圍內(nèi)。如果整數(shù)不在范圍內(nèi),則輸出錯(cuò)誤信息并退出程序;否則,輸出整數(shù)的值。