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)
{
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)
>> 本文固定链接: http://www.vcgood.com/archives/2910
>> 转载请注明: ChinaSoftware 2008年11月15日 于 C语言帝国 发表
哈哈,没想到我也可以帮助别人。。。
因为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语言问题。