| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 399 人关注过本帖
标题:求高手看一看这个程序,有关结构体的。哪错了?
只看楼主 加入收藏
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
结帖率:88.89%
收藏
 问题点数:0 回复次数:6 
求高手看一看这个程序,有关结构体的。哪错了?
/*
     2012年10月14日15:52:47
     目的:一个令我很蛋疼的结构体程序!
*/

# include <stdio.h>
struct student  
{
    int year;
    float scroe;
    char  name;
    char  sex;
};
void inputstruct (struct student * st1)
{
    printf("请输入年龄: ");
    scanf("%d",&(*st1).year);
    printf("请输入分数: ");
    scanf("%f",&(*st1).scroe);
    printf("请输入姓名: ");
    scanf("%c",&(*st1).name);
    printf("请输入性别: ");
    scanf("%c",&(*st1).sex);
}
void outputstruct (struct student * st2)
{
    printf("年龄是:%d\n",(*st2).year);
    printf("分数是:%f\n",(*st2).scroe);
    printf("姓名是:%c\n",(*st2).name);
    printf("性别是:%c\n",(*st2).sex);
}
int main(void)
{
    struct student st;
    inputstruct(&st);
    outputstruct(&st);
    return 0;
}
/*
    测试结果是:
    ————————————————
        请输入年龄: 20
        请输入分数: 90
        请输入姓名: 请输入性别: m
        年龄是:20
        分数是:90.000000
        姓名是:

        性别是:m
        Press any key to continue
    ————————————————
*/
先谢谢大家啦!
搜索更多相关主题的帖子: 结构体 include void 
2012-10-14 16:00
cjbs10086
Rank: 2
等 级:论坛游民
帖 子:32
专家分:45
注 册:2012-10-13
收藏
得分:0 
#include <stdio.h>
struct student  
 {
     int year;
     float scroe;
     char  name[10];
     char  sex[5];
 };
 void inputstruct (struct student * st1)
 {
     printf("请输入年龄: ");
     scanf("%d",&(*st1).year);
     printf("请输入分数: ");
     scanf("%f",&(*st1).scroe);
     printf("请输入姓名: ");
     scanf("%s",&(*st1).name);
     printf("请输入性别: ");
     scanf("%s",&(*st1).sex);
 }
 void outputstruct (struct student * st2)
 {
     printf("年龄是:%d\n",(*st2).year);
     printf("分数是:%f\n",(*st2).scroe);
     printf("姓名是:%s\n",(*st2).name);
     printf("性别是:%s\n",(*st2).sex);
 }
 int main(void)
 {
     struct student st;
     inputstruct(&st);
     outputstruct(&st);
     return 0;
 }
2012-10-14 16:28
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
scanf(" %c",&(*st1).name);
scanf(" %c",&(*st1).sex);

My life is brilliant
2012-10-14 16:31
星闪夜空
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2012-9-15
收藏
得分:0 
回复 楼主 gaolongtou
    出问题主要的原因是你没有把scanf()用于字符输入的问题搞清楚,对于scanf()函数,所有空白字符,转义字符都将作为有效字符被接受。所以当你将分数输入后,按回车后的\n字符被scanf接受。
2012-10-14 16:42
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 2楼 cjbs10086
谢谢了。
2012-10-15 08:55
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 3楼 lz1091914999
受教了,谢谢。
2012-10-15 08:56
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 楼主 gaolongtou
谢谢修正。
2012-10-15 08:57
快速回复:求高手看一看这个程序,有关结构体的。哪错了?
数据加载中...
 
   



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

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