什么是常量表达式?

书里说,常量表达式是编译器在编译时就能够计算出结果的表达式。不太理解,高手举个例子啊
2026年09月23日 16:24
有3个网友回答
网友(1):

举例:

int n = 1; //这是确定无疑的,1是常量表达式,不可能变化

另一个例子:

int x = n + 1; //编译器并不能根据这句就推断出x一定等于2,因为极有可能在其他地方改变n的值,因此编译器就不敢保证它是常量

网友(2):

常量表达式顾名思义表达式由常量表示,如
double
a
=
3d
+
2.1
+
sizeof(double);
常量表达式就是表达式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。
如果定义变量a,那么a+2就不是常量表达式。
n=5是常量表达式

网友(3):

其实可以理解为一个永远固定不变的数
就如 : 数学公式中的常熟 C 一样
或者:Java中的定义的常量 final a=10; 其中a就是常量