a=*p,(*p) ++ 会改变a的值吗

大哥大姐,打扰一下,a=*p,(*p) ++ 会改变a的值吗
最新回答
辣条的发明妨碍我当淑女

2024-11-24 08:04:12

此举不会改变a的值。
因为对a的赋值发生在*p自增之前,而*p所指的单元与a这个单元并无关系,是两个不同的单元。

除非是指针p的值就是a的地址,比如:
int a,*p=&a;
*p=123;
a=*p;
(*p)++;
在这种情况下,*p与a是同一个单元。当*p改变时,a也就同步改变。
曾天真现成熟

2024-11-24 08:04:25

a=*p;将p指向的单元数据取出来赋值给a
(*p)++;改变p指向的单元数据内容
由于给a的赋值发生在自加之前,a将一直保持自加前的值不变,变量p指向的单元与a可能一直没有任何关系。