| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:有关数组移动并输出的问题
只看楼主 加入收藏
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
结帖率:88.89%
收藏
 问题点数:0 回复次数:9 
有关数组移动并输出的问题
程序代码:
/*
    想实现数组元素依次输出,利用指针的移动
    为什么这样写不行啊?

*/
# include <stdio.h>
int shuzu[2][2] = {1, 2, 3, 4};
int * p = &shuzu[2][2];
void main(void)
{    
    int i;
    for (i=0; i<4; i++)
    {    
        p++;
        printf("%d\n", * p);
    }
    
}

谢谢!!!
搜索更多相关主题的帖子: 元素 移动 
2013-01-14 11:57
conan8732
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2012-8-8
收藏
得分:0 
int * p = &shuzu[2][2];
这个是将p指向shuzu[2[2] 并不是数组的首地址  后面用p--估计还可以
2013-01-14 17:24
globc
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2013-1-20
收藏
得分:0 
p++,直接从shuzu[0][0]跳到shuzu[1][0],跨度是2个元素。
2013-01-20 10:00
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
int* p = &shuzu[2][2];
数组下标的范围是多少?是不是从0到1,[2][2]这都指到哪去了

总有那身价贱的人给作业贴回复完整的代码
2013-01-20 12:18
赤血之魂
Rank: 2
等 级:论坛游民
帖 子:109
专家分:86
注 册:2012-3-22
收藏
得分:0 
看一看

让平淡诉说非凡!
2013-01-20 12:26
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
int * p = &shuzu[2][2];
越位

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-20 12:31
xiao40201950
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2013-1-23
收藏
得分:0 

   
程序代码:
# include <stdio.h>
int shuzu[2][2] = {1, 2, 3, 4};
int * p = shuzu;//数组名就是数组的首地址 所以不用取地址运算符 ‘& ’
void main(void)
{   
    int i;
    for (i=0; i<4; i++,p++)
      printf("%d\n", * p);
}
2013-01-23 21:18
schenxi
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2013-1-21
收藏
得分:0 
想要学习数组与指针 最好用一维数组来表示 二维数组涉及到数组指针、二维指针等概念。
不过从你的程序来看 有关指针和数组的基本概念你还没掌握好 建议暂时还是分开来复习一下。
2013-01-23 23:28
ksddah
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:135
注 册:2012-12-11
收藏
得分:0 
程序代码:
# include <stdio.h>
int shuzu[2][2] = {1, 2, 3, 4};
int *p = &shuzu[0][0];
void main(void)
{    
    int i,j;
    for (i=0,j=0; i<4; i++)
    {    
        
        printf("%-3d", *(p++));
        j++;
       if(!(j%2))
        printf("\n");
    }
}
2013-01-23 23:51
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:0 
二维数组的储存方式是
程序代码:
# include <stdio.h>
int shuzu[2][2] = {1, 2, 3, 4};
int *p = shuzu;
void main(void)
{    
    int i,j;
    for (i=0;i<4;i++)
    {
        printf("%d",p+i);
    }
    return 0;
}

它的输出是1,2,3,4吗?
2013-01-24 00:06
快速回复:有关数组移动并输出的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.170161 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved