| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 422 人关注过本帖
标题:谁帮忙看看啊,小弟先谢谢了。执行结果错了
只看楼主 加入收藏
泡沫小子的幸福
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-9-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
谁帮忙看看啊,小弟先谢谢了。执行结果错了
#include "stdio.h"
struct student
{

    char name[8];
    int Chinese;
    int  math;
    int  English;
    int  avg;
    int  sum;
};


void main()
{
    struct student *p,a;

    int i;
    p=&a;
    printf("请输入学生的信息:\n");
    printf("姓名      语文     英语    平均     总分   \n ");
    for (i=0;i<3;i++)
    {
       scanf("%4s%4d%4d%4d",&(p+i)->name,&(p+i)->Chinese,&(p+i)->math,&(p+i)->English);
           (p+i)->sum=(p+i)->Chinese+(p+i)->math+(p+i)->English;
        (p+i)->avg=((p+i)->sum)/3;
    }
    for(i=0;i<3;i++)
        scanf("%4s%4d%4d%4d%4d%4d",(p+i)->name,(p+i)->Chinese,(p+i)->math,(p+i)->English,(p+i)->avg,(p+i)->sum);

}


编译没错,但执行没结果啊
搜索更多相关主题的帖子: 结果 
2009-09-20 22:46
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 

#include "stdio.h"
struct student
{
 
    char name[8];
    int Chinese;
    int  math;
    int  English;
    int  avg;
    int  sum;
};
 
 
void main()
{
    struct student *p,a;
 
    int i;
    p=&a;
    printf("请输入学生的信息:\n");
    for (i=0;i<3;i++)
    {
       scanf("%4s%4d%4d%4d",&(p+i)->name,&(p+i)->Chinese,&(p+i)->math,&(p+i)->English);
           (p+i)->sum=(p+i)->Chinese+(p+i)->math+(p+i)->English;
        (p+i)->avg=((p+i)->sum)/3;
    }
    printf("姓名  语文  英语  平均   总分   \n ");
    for(i=0;i<3;i++)
        printf("%4s%4d%4d%4d%4d%4d",(p+i)->name,(p+i)->Chinese,(p+i)->math,(p+i)->English,(p+i)->avg,(p+i)->sum);
 
}

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-20 23:07
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:2 
后面输出格式还少了个\n,不过我这边还是有问题

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-20 23:16
泡沫小子的幸福
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-9-20
收藏
得分:0 
谢谢你帮忙啊
  呵呵,可是还是和我执行一样的出错了
2009-09-20 23:35
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:2 
你总是在输入格式里加入数字,%4s%4d,如你的输入不对,赋值也不对。
另个贴也是这样。你去掉数字,下面这样。
scanf("%s%d%d%d",&(p+i)->name,&(p+i)->Chinese,&(p+i)->math,&(p+i)->English);
如输入:
wang 55 66 32回车
…………
…………
保证你程序对。

努力—前进—变老—退休—入土
2009-09-20 23:54
liqitong
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2009-9-21
收藏
得分:2 
#include "stdio.h"
struct student
{
 
    char name[8];
    int Chinese;
    int  math;
    int  English;
    int  avg;
    int  sum;
};
 
 
void main()
{
    struct student *p,a[3];
 
    int i;
    p=a;
    printf("请输入学生的信息:\n");
    printf("姓名      语文     英语    平均     总分   \n ");
    for (i=0;i<3;i++)
    {
       scanf("%s%d%d%d",&(p+i)->name,&(p+i)->Chinese,&(p+i)->math,&(p+i)->English);
           (p+i)->sum=(p+i)->Chinese+(p+i)->math+(p+i)->English;
        (p+i)->avg=((p+i)->sum)/3;
    }
    for(i=0;i<3;i++)
        printf("%s %d %d %d %d %d\n",(p+i)->name,(p+i)->Chinese,(p+i)->math,(p+i)->English,(p+i)->avg,(p+i)->sum);
 
}


指针那里用错了,你指向的是一个非地址引用,只能读取一个值,应该指向数组或者是指针才符合你的要求,还有最后FOR循环有错,都改了,我运行能成功。。。
2009-09-21 11:20
泡沫小子的幸福
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-9-20
收藏
得分:0 
呵呵
  谢谢你们啊
2009-09-21 15:56
快速回复:谁帮忙看看啊,小弟先谢谢了。执行结果错了
数据加载中...
 
   



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

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