C语言问题请教

最近在学习指标

请问为何我执行这个程式时,z的数值会变为20,但是如果我将 if(&z==p) 拿掉,z的数值就不会改变?
p指标+1后不是z的位址吗?

#include <stdio.h>
int main (void)
{
int z = 5;
int x = 5;
int y = 5;
int *p;
p=&x;
p=p+1;
printf("%d %d %d\n", x, y, z);

if(&z==p)    *p=20;printf("%d %d %d\n", x, y,z);return 0;

}


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章