标题:getchar()问题
只看楼主
zz6862532
Rank: 2
等 级:论坛游民
帖 子:8
专家分:12
注 册:2016-3-23
结帖率:100%
已结贴  问题点数:20 回复次数:2 
getchar()问题
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{

    struct Subject
    {
        int Chinese;
        int math;
        int English;
    };
    struct Student 
    {
        int num;
        char name[10];
        char sex[10];
        int age;
        struct Subject score;
    }student1;

    int count=0;

    printf("是否输入第一个学生成绩?(Y/N)?");
    getchar();
    while(getchar()=='Y')
    {
        printf("请输入第一个学生的数据:\n");
        printf("请输入学号\n");
            scanf("%d",&student1.num);
        printf("请输入姓名:\n");
            scanf("%s",student1.name);
        printf("请输入性别:\n");
            scanf("%s",student1.sex);
        printf("请输入年龄:\n");
            scanf("%d",&student1.age);
        printf("请输入科目语文成绩:\n");
            scanf("%d",&student1.score.Chinese);
        printf("请输入科目数学成绩:\n");
            scanf("%d",&student1.score.math);
        printf("请输入科目英语成绩:\n");
            scanf("%d",&student1.score.English);
        printf("输入完毕,是否进行检查?(Y/N)\n");
        char exam='Y';
        getchar();
        if(getchar()=='Y')
        {
            printf("学号    姓名    性别    年龄    语文    数学    英语\n");
            printf("%-d\t%s\t%s\t%d\t%d\t%d\t%d\t\n",student1.num,student1.name,student1.sex,student1.age,student1.score.Chinese,student1.score.math,student1.score.English);

        }
    
    }
    return 0;
}


在是否输入第一个学生成绩那 当我输入Y时 getchar()记入的不是Y 而是\0  我想问下 怎样解决这个问题
搜索更多相关主题的帖子: English Chinese 
2016-05-07 19:04
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
得分:20 
那是因为用getchar读了两次,第一次才是y

未佩好剑,转身便已是江湖
2016-05-07 19:13
zz6862532
Rank: 2
等 级:论坛游民
帖 子:8
专家分:12
注 册:2016-3-23
得分:0 
回复 2楼 alice_usnet
奥奥 刚才试了下 删掉一个就可以了 非常感谢!

[此贴子已经被作者于2016-5-7 19:22编辑过]

2016-05-07 19:19



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




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

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