c语言乘法除法结合律,有关C语言运算符优先级和结合律的思考

(1) b=*p++;

(2)b=(*p)++;

(3)b=++*p;

(4)b=++(*p);

(5)b=*++p;

(6)b=*(++p);

上面6式子,哪些是等价的?

反汇编代码:

b=*p++;

00411BD9 mov eax,dword ptr [p]

00411BDC mov ecx,dword ptr [eax]

00411BDE mov dword ptr [b],ecx

00411BE1 mov edx,dword ptr [p]

00411BE4 add edx,4

00411BE7 mov dword ptr [p],edx

b=(*p)++;

00411BEA mov eax,dword ptr [p]

00411BED mov ecx,dword ptr [eax]

00411BEF mov dword ptr [b],ecx

00411BF2 mov edx,dword ptr [p]

00411BF5 mov eax,dword ptr [edx]

00411BF7 add eax,1

00411BFA mov ecx,dword ptr [p]

00411BFD mov dword ptr [ecx],eax

b=++*p;

00411BFF mov eax,dword ptr [p]

00411C02 mov ecx,dword ptr [eax]

00411C04 add ecx,1

00411C07 mov edx,dword ptr [p]

00411C0A mov dword ptr [edx],ecx

00411C0C mov eax,dword ptr [p]

00411C0F mov ecx,dword ptr [eax]

00411C11 mov dword ptr [b],ecx

b=++(*p);

00411C14 mov eax,dword ptr [p]

00411C17 mov ecx,dword ptr [eax]

00411C19 add ecx,1

00411C1C mov edx,dword ptr [p]

00411C1F mov dword ptr [edx],ecx

00411C21 mov eax,dword ptr [p]

00411C24 mov ecx,dword ptr [eax]

00411C26 mov dword ptr [b],ecx

b=*++p;

00411C29 mov eax,dword ptr [p]

00411C2C add eax,4

00411C2F mov dword ptr [p],eax

00411C32 mov ecx,dword ptr [p]

00411C35 mov edx,dword ptr [ecx]

00411C37 mov dword ptr [b],edx

b=*(++p);

00411C3A mov eax,dword ptr [p]

00411C3D add eax,4

00411C40 mov dword ptr [p],eax

00411C43 mov ecx,dword ptr [p]

00411C46 mov edx,dword ptr [ecx]

00411C48 mov dword ptr [b],edx答案:(3)=(4),(5)=(6)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值