#include<stdio.h>
int main()
{
int s[4][2]={
{1234,56},
{1212,33},
{1434,80},
{1312,78},
};
int (*p)[2];
int i,j,*pint;
for(i=0;i<=3;i++)
{
p=&s[i];
pint=(int *)p;
printf("\n");
for(j=0;j<=1;j++)
printf("%d\t",*(pint+j));
}
return 0;
}
在这段代码中,程序员使用了两个指针变量'p'和'pint'?我不能仅通过使用'p'变量来获得结果吗?为什么代码使用了2个指针变量
这里既不需要'p'也不需要'pint' ... – dreamlax 2014-10-03 04:02:52
你可以使用'p'或'pint'或两者都不使用;你的选择。总的来说,这也不是最好的选择。印刷最后可以用换行符来完成。演员是残酷的。它很有效,但这就是你可以说的一切。类型正确的赋值是'pint = * p;'。 – 2014-10-03 04:05:07
这只是一个名为“数组中的指针”的主题中的练习题,所以我必须仅使用指针来完成此操作。 – Neeraj 2014-10-03 04:11:35