qq_36628394 2016-11-19 09:03 采纳率: 100%
浏览 856

用vs2012写的C语言程序,出了点问题,求大神来纠错

这个程序是输入学生的一些信息,然后以一定的格式输出

include

include

int main ()
{
char a,b;
int c,d;
float e;
printf ("输入学生的姓名:\n");
scanf("%c",&a);
printf("输入学生的性别:\n");
scanf("%c",&b);
printf("输入学生的年龄:\n");
scanf("%d",&c);
printf("输入学生的学号:\n");
scanf("%d",&d);
printf("输入学生的学成绩:\n");
scanf("%f",&e);
printf ("姓名:%c\t性别:%c\t年龄:%d\t学号:%d\t成绩:%f\n",a,b,c,d, e);
system("pause");
return 0;
}
我的想法是提示一个打一个值,但是当我输入完名字后下面的printf便全部弹出来了,我没法再输入,我想知道这是为什么,还有怎么改,万分感激

  • 写回答

1条回答 默认 最新

  • SZL-C 2016-11-19 12:56
    关注

    #include
    int main ()
    {
    char* a,b;
    int c,d;
    float e;
    printf ("输入学生的姓名:\n");
    scanf("%s",&a);
    printf("输入学生的性别:\n");
    scanf("%s",&b);
    printf("输入学生的年龄:\n");
    scanf("%d",&c);
    printf("输入学生的学号:\n");
    scanf("%d",&d);
    printf("输入学生的学成绩:\n");
    scanf("%f",&e);
    printf ("姓名:%s\t性别:%s\t年龄:%d\t学号:%d\t成绩:%f\n",a,b,c,d, e);
    system("pause");
    return 0;
    }

    主要原因还是类型没搞清楚,首先姓名和性别都是字符串,所以定义的时候要用char*;然后就是scanf语句和最后一条printf语句中的%c要改成%s。这样就差不多了

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大