#include<stdio.h>
main
{
int x[]={1,2,3,4,5};
int i,*j;
j=x;
for(i=0;i<=4;i++)
{
printf("%u",j);
j++;
}
}
65512
65514
65516
65518
65520
但是,当我改变printf
为”
printf("%u",&j[i]);
输出是:
65512
65516
65520
65524
65528
为什么地址由2在第一壳体和4不同在第二个casee?
刚刚印刷j
和印刷&j[i]
有什么问题?
@lgor Oks“j”也是一个地址和“&j [i]”也是一个地址只知道..我打印这两个..为什么地址不同? – debug
我认为他很清楚为什么地址不同。你正在增加'j'和'i',所以显然'j'(你的第一个例子)将会比'j + i'(你的第二个例子)慢。要获得与第一个示例相同的输出,您需要'&j [0]'。 –