我理解为什么第一个print语句会输出-3 5 8 2
。但第二次打印输出4 5 8 0
。我知道5
和8
是它们的原因,因为它们各自的值保持不变,但我不知道w
的值是4
和{{} {1}}的值变为z
。我认为我对C中指针的理解可能有点模糊。
0
答案 0 :(得分:2)
如果您根据mysterious
,*a
,*b
*c
,w
,{{1},翻译w
内的步骤然后分别出现:
z
单步执行此操作:w = z;
w = w + w;
z = w - w;
为z
;因此2
变为w
,然后2
;最后4
变为z
4 - 4
。