以下符合C语言语法的表达式是______。 为什么D不对??

已知各变量的类型说明为:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;,则以下符合C语言语法的表达式是______。
(A)a+=a-=(b=4)*(a=3) (B)a=a*3=2
(C)x%(-3) (D)y=float(i)

d考的是强制类型转换,正确应该是:y=(float)i;
而不是y=float(i),你不觉得这像是调用函数吗?
即使float真是个已定义的函数,但float是关键字,不能用作函数名的;
所以,怎么说,d都是错的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-10
int类型是不能转化成float类型的,你去看数据类型的转化就知道了,书上应该也有写的吧
第2个回答  2011-03-10
float 是关键字
第3个回答  2011-03-10
不能从低精确度转到高精确度
第4个回答  2011-03-11
谁说a[0]不合法啊。。 数组名代表的是一个指向此数组第一个数组元素的指针,是一个指针常量不可以改变其值的。。
第5个回答  2011-03-10
D应该是y=(float)i;