lozloz 发表于 2020-2-26 15:43:41

为啥double型出现错误

#include <stdio.h>

int Student_Input_Data(void);

//全局变量   一个中文两字节
char name;//存名字   
char sex;//存性别
int number;//存学号
double score;//存成绩

int main(void)
{
    int i=0;
    int len = 0;

    len = Student_Input_Data();
   

    return 0;
}


/*
函数功能:信息录入
*/
int Student_Input_Data(void)
{
    int i = 0;
    char a = 0;


   
    while(1)
    {
      printf("正在录入第%d个学生信息\r\n",i+1);
      printf("请输入学生姓名:");
      scanf("%s",name);
      printf("请输入学生性别:");
      scanf("%s",sex);
      printf("请输入学生的学号:");
      scanf("%d",&number);
      printf("请输入的语文学生的成绩:");
      scanf("%lf",&score);

      getchar();
      printf("请问是否输入下一位学生的信息Y/N:");
      
      scanf("%c",&a);

      if(a=='n'||a=='N')
      {
            break;
      }
    }
    return i+1;
}


qiuyouzhi 发表于 2020-2-26 15:54:36

用float吧
你的代码还有一点小bug,帮你改好了

#include <stdio.h>

int Student_Input_Data(void);

//全局变量   一个中文两字节
char name;//存名字   
char sex;//存性别
int number;//存学号
float score;//存成绩

int main(void)
{
    int i=0;
    int len = 0;

    len = Student_Input_Data();
   

    return 0;
}


/*
函数功能:信息录入
*/
int Student_Input_Data(void)
{
    int i = 0;
    char a = 0;


   
    while(1)
    {
      printf("正在录入第%d个学生信息\r\n",i+1);
      printf("请输入学生姓名:");
      scanf("%s",name);
      printf("请输入学生性别:");
      scanf("%s",sex);
      printf("请输入学生的学号:");
      scanf("%d",&number);
      printf("请输入的语文学生的成绩:");
      scanf("%lf",&score);

      getchar();
      printf("请问是否输入下一位学生的信息Y/N:");
      
      scanf("%c",&a);

      if(a=='n'||a=='N')
      {
            break;
      }
      else
      {
              i += 1;
                }
    }
    return i+1;
}
如果有帮助,请设最佳答案{:10_254:}

major_lyu 发表于 2020-2-26 15:56:42

什么错误?说清楚点啊

lozloz 发表于 2020-2-26 16:28:41

qiuyouzhi 发表于 2020-2-26 15:54
用float吧
你的代码还有一点小bug,帮你改好了



为什么double就不行呢?

qiuyouzhi 发表于 2020-2-26 16:36:05

lozloz 发表于 2020-2-26 16:28
为什么double就不行呢?

https://wenda.so.com/q/1472126381720266
页: [1]
查看完整版本: 为啥double型出现错误