以下能正确定义且赋初值的语句是 int n1=n2=10 char c=32 f

以下能正确定义且赋初值的语句是 int n1=n2=10 char c=32 float f=f+1.1 double x=12.3e2.5

第1个回答  2013-12-29

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,此处可简化理解为如此,如有兴趣可在深入研究,就写这些吧。