标题:这个机构体中不能用结构体指针的循环么?内详。
只看楼主
wxd343243947
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-11-10
结帖率:33.33%
已结贴  问题点数:10 回复次数:6 
这个机构体中不能用结构体指针的循环么?内详。
#include<stdio.h>
main()
{
struct student
{
  char name[20];
  long num;
  float score[3];
}st={"wuxiangdong",2011005474,28,48,54.9},*p;
 p=&st;
   int i=0;
 for(i;i<3;i++)
printf("%s\t%ld\t%f",p->name,p->num,p->score[i]);

getch();

}
搜索更多相关主题的帖子: 机构 结构体 
2012-11-28 22:04
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:5 
有编译错误?

总有那身价贱的人给作业贴回复完整的代码
2012-11-28 22:23
萨尔甘
Rank: 2
等 级:论坛游民
帖 子:23
专家分:55
注 册:2012-11-22
得分:5 
程序代码:
#include<stdio.h>
struct student
{
  char name[20];
  long  num;
  float score[3];
}st={"wuxiangdong",2011005474,28,48,54.9};
main()
{
    struct student *p;
    p=&st;
    int i=0;
    for(i;i<3;i++)
    printf("%s\t%ld\t%f\n",p->name,p->num,p->score[i]);
}

要把指针也定义成结构体类型才能指向结构体,楼主的代码没有问题,最好把结构体定义在外面,方便引用,也方便阅读


[ 本帖最后由 萨尔甘 于 2012-11-28 22:46 编辑 ]
2012-11-28 22:42
wxd343243947
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-11-10
得分:0 
回复 3楼 萨尔甘
这个是什么情况啊。gg_1.c
C:\Windows\System32\gg_1.c(7) : warning C4305: 'initializing' : truncation from 'const double ' to 'float '
C:\Windows\System32\gg_1.c(12) : error C2143: syntax error : missing ';' before 'type'
C:\Windows\System32\gg_1.c(13) : error C2065: 'i' : undeclared identifier
执行 cl.exe 时出错.
2012-11-29 10:36
萨尔甘
Rank: 2
等 级:论坛游民
帖 子:23
专家分:55
注 册:2012-11-22
得分:0 
回复 4楼 wxd343243947
第一个是警告,第二个是你在type前丢失了一个“ ;”第二个是编译器照不到i的定义,就是你没有定义i,都是小问题,很好解决,可是我复制你的代码没有这些问题啊
2012-11-29 11:31
wxd343243947
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-11-10
得分:0 
回复 5楼 萨尔甘
不知道为什么只能够把int i放在主函数的开端,其他的地方不行,求解。
#include<stdio.h>
 struct student
 {
   char name[20];
   long  num;
   float score[3];
 }st={"wuxiangdong",2011005474,28,48,54.9};
 main()
 {   int i;
     struct student *p;
     p=&st;

     for(i=0;i<3;i++)
     printf("%s\t%ld\t%f\n",p->name,p->num,p->score[i]);
     getch();
 }
 
2012-11-29 11:41
萨尔甘
Rank: 2
等 级:论坛游民
帖 子:23
专家分:55
注 册:2012-11-22
得分:0 
回复 6楼 wxd343243947
C规定先定义后使用,这样机器会事先给变量分配内存,他才是有意义的,程序是自上而下顺序执行,要是没在开始定义却先使用了肯定不行,当然要是在没使用前定义,放在句子中间也行,但是这个习惯相当不好。
2012-11-29 22:37



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




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

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