标题:结构体问题!!!!为什么读不进去
只看楼主
不知道呀
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:17
专家分:15
注 册:2014-3-23
结帖率:100%
 问题点数:0 回复次数:5 
结构体问题!!!!为什么读不进去
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    struct student{
        int num;
        char name[10];
        int english;
        int math;
        int cgrade;;
    };
    struct student *p,*q;
    int i,n,score=0;
    

    printf("Input n:");

    scanf("%d",&n);
    p=(struct student *)malloc(sizeof(struct student)*n);
    if(p==NULL)
    exit(1);
   
    for(i=1;i<=n;i++){
        printf("第%d个学生各科成绩:",i);
        scanf("%d%%s%d%d%d",&p->num,p->name,&p->english,&p->math,&p->cgrade);
        score=p->english+p->math+p->cgrade;
        p++;

    printf("score=%d\n",score);
    }

    return 0;
}
为什么会出错呀
搜索更多相关主题的帖子: english 结构体 
2014-06-10 17:07
zlt123456
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2014-6-3
得分:0 
结构体定义在主函数之外,,
2014-06-13 11:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
这种又是谭浩强的风格吧?

授人以渔,不授人以鱼。
2014-06-13 12:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你分配内存的语句自己怎么解释?别说不知道自己写的代码是什么意思,不知道的东西不要写出来,这是第一诫。

授人以渔,不授人以鱼。
2014-06-13 12:16
chrisgardner
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:73
专家分:114
注 册:2013-9-25
得分:0 
scanf("%d%%s%d%d%d",&p->num,p->name,&p->english,&p->math,&p->cgrade);
多了个百分号
2014-06-13 14:24
chrisgardner
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:73
专家分:114
注 册:2013-9-25
得分:0 
回复 楼主 不知道呀
把for循环中的scanf改成这样试试:
scanf("%d%d%d%d%s", &p->num, &p->english, &p->math, &p->cgrade, p->name);
2014-06-13 14:39



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




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

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