c语言中,下列变量定义合法的是:A: int _a=1-.e-1 B: double b=1+5e2.5 C: ...

c语言中,下列变量定义合法的是:A: int _a=1-.e-1 B: double b=1+5e2.5 C: long x=12.5 D: float 2_and=1-e-3 书本答案是选C,为什么?

好好看看这个问题
首先答案A:后面1-.e-1在e中没有这种写法,写法是错误的而且不知道是什么意思。aeb表示a乘以10的b次方
再看答案B;5e2.5注意e后面只能是整数!
答案C;上面有人说了就是long int 用于存储整型变量,所以就算赋值为12.5,最后X里面存储的还是整数那一部分
最后答案D;前面不能数字2开头,这是个错误!后面1-e-3这个写法也是错误的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-30
首先变量名开头不能是数字,其次赋值语句不支持科学计数法,所以刨除掉ABD三项
第2个回答  2011-12-27
e的后面接正整数。long是长整型关键字。a=12.5实质上a存的是12
第3个回答  2011-12-28
C,long int 用于存储整型变量,所以就算赋值为12.5,最后X里面存储的还是整数那一部分
第4个回答  2012-01-04
A B D
都不用说了
主要是考浮点数的科学计数法表示
C 它有一个隐含的强制类型转换,将浮点数转换为长整型存储到变量b