若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( B ).

问题描述:

若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( B ).
A.(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.5
求AC的解释...

A,.(m+n)*=k 左边为被赋值对象,只能是变量,不能是表达式
C,k=float(n)/m 强制类型转换不对,应该是 k=(float)n/m如果A变为k=(m+n)*呢???顺便再问你一个,若有定义:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是为什么a=a/3=6/2==3????a/3=6/2这个是怎样变来的???k=(m+n)*不合法,* 是二元运算符,需要有右运算符。a=a/3=6/2==3 不合法;a*=a-=a/=3结果a=0从右向左依次运算!