诚然,我真的不需要这一答案,我是实事求是的。
诸如*ptr++ = a
之类的表述完全有效,因为我们在两个物体上运行:ptr
和*ptr
,但如果是书写*ptr++ = *ptr + a
,则仍然有效?
举例来说,应考虑以下几页:
int main(void){
int a[] = {5,7,8,9,2};
int* p =a;
*p++ = 76; /*altering the first element */
*p++ = *p + 32; /*altering the second element */
p = a;
int i;
for(i = 0;i<5; i++)
printf("%d ",*p++);
return 0;
}
我认为,对以下表述没有什么担忧:*p++ = *p+32;
,但我对所涉顺序不持怀疑态度。