c语言程序中为什么9 9 9不是合法常量

如题所述

C语言中的数值常量可以简单的分为如下两种整型常量和浮点数常量:

一. 整型常量 如6,27,-299
在 C 语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。
(1)十进制整型常量
这种常量只能出现 0~9 的数字,且可带正、负号。例如:
0 1 364 28 -34
第 2 章 基本数据类型 •29•
(2)八进制整型常量
这种常量是以数字 0 开头的八进制数字串。其中数字为 0~7。例如:
0111(十进制 73) 011(十进制 9) 0123(十进制 83)
(3)十六进制整型常量
这种常量是以 0x或 0X开头的十六进制数字串。其中每个数字可以是 0~9、a~f或 A~
F 中的数字或英文字母。例如:
0x11(十进制 17) 0Xa5(十进制 165) 0x5a(十进制 90)

二. 浮点型常量 如5.43,-2.3,5.67f
实型常量有两种表示形式:一种是十进制小数形式,另一种是指数形式。
(1)十进制小数形式
十进制小数形式为包含一个小数点的十进制数字串。
此类实型常量小数点前或后可以没有数字,但不能同时没有数字。例如:
3.14159, .89, 56.0, 78., -3.0, 0.0
(2)指数形式
指数形式的格式由两部分组成:十进制小数形式或十进制整型常量部分和指数部分。
其中指数部分是在 e 或 E(相当于数学中幂底数 10)后跟整数阶码(即可带符号的整数指
数)。例如:
1e15 //表示数值 1×10
15
0.35e+1 //表示数值 0.35×10
1
78e-1 //表示数值 78×10
-1
下面是不正确的实型常量。
e15 //缺少十进制小数部分
0.35e //缺少阶码
78e-1.2 //不是整数阶码
温馨提示:答案为网友推荐,仅供参考
相似回答