跳转至

4.4 赋值运算符

练习 4.13

在下述语句中,当赋值完成后i和d的值分别是多少?

int i; double d;
(a) d = i = 3.5;    
(b) i = d = 3.5;

练习 4.14

执行下述if语句后将发生说明情况?

if (42 = i) // ...
if (i = 42) // ...

练习 4.15

下面的赋值是非法的,为什么?应该如何修改?

double dval;
int ival;
int *pi;
dval = ival = pi = 0;

练习 4.16

尽管下面的语句合法,但它们实际执行的行为可能和语气并不一样,为什么?应该如何修改?

(a) if (p = getPtr() != 0)
(b) if (i = 1024)