下列选择中正确的表达式是

来源:百度知道 编辑:UC知道 时间:2024/06/10 07:57:24
有以下定义语句
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

麻烦简单说明一下~~~谢谢~~
不好意思~~题目弄错了

A应该是 a=a+b=b++
B应该是 w%((int)a+b)
C应该是(c+w)%(int)a
D不变

正确答案不是D

麻烦各位高人帮帮忙~~~此题~~俺不懂~~~

答案是C
a) a=a+b=b++ 表达式出现了a+b=b++ 不能对一个表达式赋值。
b)w%((int)a+b) int(a)的类型是int,((int)a+b)的类型是double,而求余运算只能对int类型
c)(c+w)%(int)a 正确c+w的类型是long int,int(a) 的类型是int都是整数可以求余。
d)它表示的含义是 判断a和b是否相等 如果a和b相等w就是1,否则为0,但是C语言里由于double类型数据精度的问题通常double类型的数不进行比较,如果比较的话通常用a-b<1e-6这种式子表示

D.

a=a b=b 没分号或逗号
w%((int)a b) a b间没运算符.
c w)%(int)a cw间没运算符.

D 正确

A)中含有两个语句,要用分号隔开
B)中a,b之间少了运算符号。(估计出题者想考乘法的使用,数学上表示两个未知元的乘法,可以省略乘法符号表示书写方便,但在编程语言中无此用法)
C)错误原因同B