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

2025-03-06 12:40:39
推荐回答(5个)
回答1:

A)
a=3;
b=4;
a=a+a+b*a;
B)=左侧必须是变量,=是赋值运算,从右向左执行,所以行执行a*3=2,a*3不是变量,所以错误。

回答2:

B选项中,从右向左运算,先算a*3= 2;这没法算当然错了。
A选项中,从右向左运算,a+=a+(b=4)*(a=3)先后过程是:
a = 3;
b = 4
a += b*a; (此时a = 15)
a += 15; (此时a = 30)

回答3:

是的,左值必须是变了,指针那些。a*3不能作为左值,就和不能为数值分配地址空间一样的道理。

回答4:

X1=X2=X3=....=Y
就是吧X1,X2....全赋值成Y
B)中 a*3不可以被赋值,所以是错的

A)中X=Y这种等式本身是有值的,就是Y

回答5:

B项是正确的。错误的是C项,因为x为double型,而模运算符%两侧均应为整型数据。