iT邦幫忙

0

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;

}


尚未有邦友留言

立即登入留言