(15) 有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 A) a=(15) 有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;C为什么对啊,BD又为什么对?

问题描述:

(15) 有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 A) a=
(15) 有以下定义语句 double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是
A) a=a+b=b++ B) w%(int)a+b)
C) (c+w)%(int)a D) w=a==b;
C为什么对啊,BD又为什么对?

D
a,b 是double类型,如果 a b是0.1,就会出现除数是零了,就出错了,
D是对的,先判断,后赋值,这样允许的!