| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:指针问题,!为什么运行会出错??
只看楼主 加入收藏
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
指针问题,!为什么运行会出错??
#include<stdio.h>
int main()
{   
    int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};     
    int * p;     
    for(p=*a;p<*(a+3)+4;p++)     
    {         
    printf("%3d",*p);     
    }     
    printf("\n");     
return 0;
}
为什么输出不一样?请高手帮忙改一下。就用这种*a这种格式的 不要用a[0]这种格式的
搜索更多相关主题的帖子: include 
2011-12-21 10:20
hengde_li
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:131
专家分:178
注 册:2010-1-15
收藏
得分:7 
把 +4去掉就可以了
2011-12-21 10:38
strivelong87
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:159
注 册:2011-11-24
收藏
得分:7 
for(p=*a;p<*(a+3)+4;p++)
这里怎么是+3啊,你a的行是三行啊,应该是0, 1 2啊,最大只能加2啊
2011-12-21 10:44
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
收藏
得分:0 
谢 已经改好了
能详细说说循环的步骤么 我还是不太明白 是这么循环的
是不是这样 p=a[0][0]的首地址的值 比如说是2000 然后每次+1进 4 个字节结束条件是p<=*(a+2)+3也就是a[3][]
2011-12-21 10:55
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
收藏
得分:0 
谢 已经改好了
能详细说说循环的步骤么 我还是不太明白 是这么循环的吗?
是不是这样 p=a[0][0]的首地址的值 比如说是2000 然后每次+1进 4 个字节结束条件是p<=*(a+2)+3也就是a[3][4]的地址的值2048
请高手指正
2011-12-21 10:56
hengde_li
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:131
专家分:178
注 册:2010-1-15
收藏
得分:0 
数组指针的问题,a+1就等于指针移动了4*4个字节了
2011-12-21 11:00
wuyanyouqing
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2011-4-17
收藏
得分:7 
#include<stdio.h>
int main()
{
    int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
    int * p;
    for(p=*a;p<*(a+3);p++)
    {
    printf("%3d",*p);
    if((p-(*a))%3==0)
    printf("\n");
    }
return 0;
}
2011-12-21 16:04
wuyanyouqing
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2011-4-17
收藏
得分:0 
修改一下,不知道是总线你想要的效果。p,*a都是列指针,没有实际地址
2011-12-21 16:06
快速回复:指针问题,!为什么运行会出错??
数据加载中...
 
   



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

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