int s[4][2]= {
{1234,56},
{1212,33},
{1434,80},
{1312,78}
};
int i,j;
for(i=0;i<=3;i++)
{
printf("\n");
for(j=0;j<=1;j++)
{
printf("%d ",*(s[i]+j));
}
}
输出显示是
1234,56 1212,33 1434,80 1312,78
我们知道*(&Variable)
会打印变量的值但是当我们在上面的程序中实现相同的概念时......
int s[4][2]= {
{1234,56},
{1212,33},
{1434,80},
{1312,78}
};
int i,j;
for(i=0;i<=3;i++)
{
printf("\n");
for(j=0;j<=1;j++)
{
printf("%d ",*(&s[i]+j));
}
}
输出显示数组每个元素的地址。
为什么会这样?为什么输出不等于数组元素的值?