【发布时间】:2016-11-15 14:00:21
【问题描述】:
假设我声明了这个变量:
long k = 1060606060000;
如果我这样做,我会得到一个错误,因为这个数字对于一个整数来说显然太大了。为什么我必须在最后添加 L 才能让编译器识别它是一个长变量?尽管我显然说过我需要 k 是 long 类型。
【问题讨论】:
-
因为添加 L 你告诉编译器“嘿顺便说一句,这是一个长类型......”
-
那为什么还要在开头加长呢?
-
@Geddi 如果您有一个“明显”不太长而无法放入
int的数字,例如0,您将如何指定它是一个长文字?然后,为什么有两种方法来指定长文字,而你只能有一种? -
所以如果你使用它,你的编译器就会知道它很长
-
开头的
long是指定变量的类型(而不是指定值的类型)。