已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合c语言语

[复制链接]
查看11 | 回复4 | 2018-3-12 22:00:04 | 显示全部楼层 |阅读模式
A)a=3;b=4;a=a+a+b*a;B)=左侧必须是变量,=是赋值运算,从右向左执行,所以行执行a*3=2,a*3不是变量,所以错误。...
回复

使用道具 举报

千问 | 2018-3-12 22:00:04 | 显示全部楼层
B选项中,从右向左运算,先算a*3= 2;这没法算当然错了。A选项中,从右向左运算,a+=a+(b=4)*(a=3)先后过程是:a = 3;b = 4a += b*a; (此时a = 15)a += 15;
(此时a = 30)...
回复

使用道具 举报

千问 | 2018-3-12 22:00:04 | 显示全部楼层
是的,左值必须是变了,指针那些。a*3不能作为左值,就和不能为数值分配地址空间一样的道理。...
回复

使用道具 举报

千问 | 2018-3-12 22:00:04 | 显示全部楼层
X1=X2=X3=....=Y就是吧X1,X2....全赋值成YB)中 a*3不可以被赋值,所以是错的A)中X=Y这种等式本身是有值的,就是Y...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行