首页 > 用户发贴区 > 编程问题提问区 > 各位大哥,这是什么意思呢??
2008
11-15

各位大哥,这是什么意思呢??



struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5]={
{101,”Zhou ping”,’M',45},
{102,”Zhang ping”,’M',62.5},
{103,”Liou fang”,’F',92.5},
{104,”Cheng ling”,’F',87},
{105,”Wang ming”,’M',58},
};
main()
{
struct stu *ps;
printf(“No\tName\t\t\tSex\tScore\t\n”);
for(ps=boy;ps<boy+5;ps++)
printf(“%d\t%s\t\t%c\t%f\t\n”,ps->num,ps->name,ps->sex,ps->
score);
}

为什么for(ps=boy;ps<boy+5;ps++)而不是for(ps=&boy;ps<boy+5;ps++)
还有ps<boy+5是什么意思,难道光一个“boy”、光一个“ps”是统计数组的元素个数?(ps<boy+5)


各位大哥,这是什么意思呢??》有 1 条评论

  1. wozhenyunle 说:

    哈哈,没想到我也可以帮助别人。。。

    因为ps定义为struct stu类型,所以应该给它赋一个类型为struct stu类型的变量的地址,而boy是数组boy[5]的数组名,也即该数组的首地址,即&boy[0],所以可以付给ps啊。明白了吧。

    你说要把&boy赋值给ps,boy在这里本来就是一个地址了,所以不需要在加“&”。而boy+5,亦即boy[5](虽然没有boy[5])的地址&boy[5]。这里是小于它,所以能得出正确结果。

    你的问题可解决了,谁帮我解决问提啊,一个简单的问题到现在还没有人帮我解决,我真是郁闷了,已经郁闷了好几天了,唉,哪位C语言高手、前辈能帮帮我啊???

    我的QQ760125897,欢迎加我为好友,一起探讨C语言问题。

留下一个回复