c语言中常量数据后缀名有什么用,像-123.456f,567L, 这些。而且直接输出123f有错

c语言中常量数据后缀名有什么用,像-123.456f,567L,
这些。而且直接输出123f有错不是定义变量的时候就已经规定了属性吗?如float a;
a=12.3,那还要后缀干嘛。 int b; b=655360; printf("%d",b) 为什么也能打出655360,不是已经超过基本整形长度能表达的数值65536了吗?

如果不加任何后缀
所有浮点型,就是带小数那种,包括科学计数法,按照double处理。
不带小数点的,按照int处理。

加上后缀,就是强制定义了类型。比如f就是浮点型。 L就是long型。

至于你说的,整型最长表示65536这个说法,早过时了,那是16位编译器,整型范围是
-32768~32767
现在的int要比那个大的多。追问

但是书上说int 分配4个字节内存啊,最多表示65536呀

难道现在64位机器,就是8个字节的内存了吗

追答

int 是4个字节。也就是32位
表示范围为
-2147483648 ~ 2147483647

追问

sizeof int为4位字节

那假如 int a; a=655360L 怎么加后缀输出a呢?printf("%d",a)这样会输出655360吗?

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网