上海大学乐乎博客 > 堕落の空间 > C++ > C语言二维数组和数组的指针

2007/8/11 18:37:00 | C语言二维数组和数组的指针

main()
{
int a[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<3;i++)
{
   ptr=a+i;
   scanf("%d",ptr);
   ptr++;
}
for(i=0;i<3;i++)
{
   for(j=0;j<2;j++)
    printf("%2d",a[i][j]);
   printf("\n");
}
}

若运行时输入:1 2 3<回车>,则输出结果为

1 0
2 0
0 0
ptr=a+0   <=> ptr=&a[0][0]
ptr=a+1 <=> ptr=&a[1][0]
由于for(i=0;i<2;i++)
因此循环执行了2次,也就会接受2次的输入
如果是for(i=0;i<=2;i++)或for(i=0;i<3;i++),那么结果就会是
1 0
2 0
3 0

评论

这个题目做过的

发布者 IT_rookie
2010/10/2 19:38:33


您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
(输入完内容可以直接按Ctrl+Enter提交)