这个打印输出为什么是876呀
#include <stdio.h>int main() {
int i,j,a,*p;
for(i=0;i<3;i++)
for(j=0;j<3;j++)a=1+j+i*3;
p=&a;
while(j)
{
printf("%d",p);
j--;
}
return 0;
}
这个打印输出为什么是876呀 本帖最后由 jackz007 于 2022-3-11 21:12 编辑
#include <stdio.h>
int main() {
int i,j,a,*p;
for(i=0;i<3;i++)
for(j=0;j<3;j++)a=1+j+i*3;
p=&a; // p 指向 a
while(j) // j 的初始值为 3
{
printf("%d",p); // 打印p,p,p 的值
j--;
}
return 0;
}
二维数组 a 的内容是
1 , 2 , 3
4 , 5 , 6
7 , 8 , 9
如果把这个二维数组串起来看就是一维数组
1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9
p 指向 a,a 的值是 5,也就是 p = 5,那么,p、p、p 的值自然就是 8、7、6 了。 jackz007 发表于 2022-3-11 21:10
二维数组 a 的内容是
如果把这个二维数组串起来看就是一维数组
谢谢
页:
[1]