这是我无法理解的一小段代码
int x=30, *y, *z;
y=&x;
z=y;
//y++ = z++;
//*y++ = *z++;
x++;
printf("x=%p, y=%p, z=%p y=%p\n ", &x, y,z,y++);
return 0;
这些疑问一直困扰着我:
为什么(z++ = y++;)
无效分配(z = y)
有效。这个任务(*y++ = *z++)
是什么意思?
此外,如果我运行这个程序,我会得到以下输出:
x = 0028FF04 , y = 0028FF08, z = 0028FF04 y = 0028FF04
而我的期望是
x = 0028FF04 , y = 0028FF04, z = 0028FF04 y = 0028FF08