若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是( )

若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是( )。
A. x=x*3=2
B. x=(y==1)
C. i=float(x)
D. i%(-3)
可是C的话是错的啊,强制类型转化不是这样写啊

第1个回答  2018-07-21
B
y==1是表达式,在C/C++中表达式为真则为1,为假则为0(其它语言为布尔型,不能这么用)追问

y==1为假然后应该是x=0吧?但是为什么很多人说b那样写不可以啊

本回答被网友采纳
第2个回答  2020-06-23
b怎么对,y==1得到的是一个bollean型true值,而x是int型,怎么能赋值。