在C语言中,合法的长整型常数是: A. 0L B. 4962710 C. 0.054838743 D. 2.1869e10

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:29:48
给出的答案是A,但我怎么不也不明白,长整形常数不是在-2^31~2^31-1(即-2147483648~2147483647)的范围内么?那很明显答案应该是B.如果答案真的是A的话,那"0L"是什么意思?又为什么不选B?高手来答下.

B是字面常量,对于一个整形常量来说,比如 4962710,因为后面没加L,即认为是int型,但其又超出了int的范围,所以溢出,实际表示的是一个负数。
长整型常数是在字面常量后面加L来显式说明。

楼上说的是对的,一般的数若不加说明的话默认为 int 型的。长整型是在后面加了 L 的。