以下能正确定义且赋初值的语句是 int n1=n2=10 char c=32 float f=f+1.1 double x=12.3e2.5
int n1=n2=0不可以
char c=32 可以
float f=f+1.1 可以 f为1.1
double x = 12.3e2.5 不可以
含float的那个解释没看懂,能再说说吗?
这个可能和编译器的处理有关,声明和初始化在此处编译器分两步来做,也就对应了两条汇编语句,第一条在声明时给f同时赋初值0,如mov r0,0接着为赋值,add r0,r0,1,故f得到1.1,此处可简化理解为如此,如有兴趣可在深入研究,就写这些吧。