若变量已正确定义,以下非法的表达式是(B) A、a/=b+c B、a%(4.0) C

若变量已正确定义,以下非法的表达式是(B)A、a/=b+cB、a%(4.0)C、a=1/2*(x=y=20,x*3)D、a=b=c解释下abC选项... 若变量已正确定义,以下非法的表达式是(B) A、a/=b+c B、a%(4.0) C、a=1/2*(x=y=20,x*3) D、a=b=c
解释下 a b C选项
展开
 我来答
风雷九州
推荐于2018-03-13 · TA获得超过3026个赞
知道大有可为答主
回答量:1127
采纳率:100%
帮助的人:544万
展开全部
A
a/=b+c 等价于
a = a/b + c,只要b不等于0,这个表达式就是合法的

B
a%(4.0)
%是去余数运算符,余数只有对整数才有意义,对浮点数没有意义。我们可以说5除以2,等于2,余数为1。

但是5除以2.2,就没有余数的概念。这里虽然4.0就是整数4,但是对于计算机来说是浮点数,浮点数不能去余数,是非法的

C
a=1/2*(x=y=20,x*3)

括号优先级最高,先计算括号里面的x=y=20,x*3,这是一个逗号表达式,从左到右计算,最右边的表达式的值作为整个括号表达式的值。
即先计算x=y=20,然后计算x*3=20*3=60,60作为(x=y=20,x*3)表达式的结果

上面的表达式就等价于
a=1/2*60

所以是合法的
kaixingui2012
2015-01-20 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:7769万
展开全部
A、a/=b+c /= 表示整除后再赋值给被除数,相当于a=a/(b+c) ;
B、a%(4.0) %是模运算,参与运算的数据只能是整数类 而4.0是浮点数,所以错!
C、a=1/2*(x=y=20,x*3) 括号中是逗号运算,返回x*3 = 60, 1/2*60=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylcqucc
2015-01-20 · TA获得超过1436个赞
知道小有建树答主
回答量:862
采纳率:0%
帮助的人:407万
展开全部
B选项 a%(4.0) 是非法的表达式

在C语言中,各运算符,能进行运算的数据类型是有规定的,比如,%是求余数的运算符,其两边必须是整数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c70d8e3
2015-01-20 · TA获得超过380个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:306万
展开全部
A: a = a / ( b + c )
B: %为求余运算符,只能算整数的余数,所以不对
C: 括号中为 y = 20, x = y,逗号表达式取后一个的值,
则 a = 1 / 2 * x * 3 = 1 / 2 * 20 * 3 = 30
更多追问追答
追问
4.0不算整数吗
追答
计算机会把它当作浮点数处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式