标题:[求助]有关结构体指针的一道题??!!哪位仁兄指点指点
取消只看楼主
lzmhstc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
 问题点数:0 回复次数:4 
[求助]有关结构体指针的一道题??!!哪位仁兄指点指点
struct ks
{int a;
int *b;
}s[4],*p;
main()
{ int n=1,i;
printf("\n");
for(i=0;i<4;i++)
{ s[i].a=n;
s[i].b=&s[i].a;
n=n+2;
}
p=&s[0];
p++;
printf("%d,%d\n",(++p)->a,(p++)->a);

}

为什么运行结果会是 7,3 呢???
搜索更多相关主题的帖子: 结构体 指针 仁兄 int 
2007-05-09 22:13
lzmhstc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
得分:0 
谢谢版主.
课本里没说编译器从右开始扫描.
我以为是按从左到右

2007-05-09 23:00
lzmhstc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
得分:0 

我用的是谭浩强版的,书里没看到.郁闷

2007-05-09 23:18
lzmhstc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
得分:0 
再请教版主一个问题,有关位段的.我总是弄不清楚
struct bit
{ unsigned a_bit:2;
unsigned b_bit:2;
unsigned c_bit:1;
unsigned d_bit:1;
unsigned e_bit:2;
unsigned word:8;
};
main()
{
struct bit *p;
unsigned int modeword;
printf("Enter the mode word(HEX):");
scanf("%x",&modeword);
p=(struct bit *)&modeword;
printf("\n");
printf("a_bit:%d\n",p->a_bit);
printf("b_bit:%d\n",p->b_bit);
printf("c_bit:%d\n",p->c_bit);
printf("d_bit:%d\n",p->d_bit);
printf("e_bit:%d\n",p->e_bit);
}
例如输入96,则结果为
a_bit:2
b_bit:1
c_bit:1
d_bit:0
e_bit:2
能帮我解释为什么吗

2007-05-09 23:58
lzmhstc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
得分:0 
谢谢了

2007-07-02 23:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-138045-1-1.html




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

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