M_bells 发表于 2020-8-10 21:55:28

运行时输入指令后要先按别的键再按Enter才继续运行?

求助!!!!!

我学习小甲鱼老师的视频自己敲代码,然后运行可以,但是在输入分数后总是要按下其他键再按Enter才能继续运行成功

怎么才能直接按Enter直接继续运行?



#include<stdio.h>

int main()
{
        int a;
       
        printf("请输入学生的成绩:");
        scanf("%d\n",&a);
       
        if(a>=90)
        {
                printf("真棒!您的学生等级为A!\n");
        }
        else if(a>=80&&a<90)
        {
                printf("真棒!您的学生等级为B!\n");
        }
        else if(a>=70&&a<80)
        {
                printf("真棒!您的学生等级为C!\n");
        }
        else if(a>=60&&a<70)
        {
                printf("真棒!您的学生等级为D!\n");
        }
        else
        {
                printf("真棒!您的学生等级为E!\n好好调教吧!\n");
        }
       
        return 0;
}

永恒的蓝色梦想 发表于 2020-8-10 22:01:12

scanf 不加 \n 就可以了。#include<stdio.h>

int main()
{
      int a;
      
      printf("请输入学生的成绩:");
      scanf("%d",&a);
      
      if(a>=90)
      {
                printf("真棒!您的学生等级为A!\n");
      }
      else if(a>=80&&a<90)
      {
                printf("真棒!您的学生等级为B!\n");
      }
      else if(a>=70&&a<80)
      {
                printf("真棒!您的学生等级为C!\n");
      }
      else if(a>=60&&a<70)
      {
                printf("真棒!您的学生等级为D!\n");
      }
      else
      {
                printf("真棒!您的学生等级为E!\n好好调教吧!\n");
      }
      
      return 0;
}

不能懒 发表于 2020-8-10 22:35:22

熟悉的C

风过无痕1989 发表于 2020-8-11 00:32:44

键盘输入 scanf() 函数是严格按照你在引号内的格式从缓冲区读取字符。一般情况下引号之间只写格式化要求,格式化内容要和输入内容一致,数与数、字符与字符之间可以用空格隔开,也可以用逗号隔开,否则就会出错。除了格式化操作符以外,不加任何其他字符,连空格都不要加。

scanf () 在你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。而且,最后输入的那个非(空格、制表符、回车)的东西是不会被这个scanf读进来的,而是留在输入流里。

所以,你的语句中的 \n ,不应该加的,去掉后,程序才能正常地运行

M_bells 发表于 2020-8-11 08:33:00

风过无痕1989 发表于 2020-8-11 00:32
键盘输入 scanf() 函数是严格按照你在引号内的格式从缓冲区读取字符。一般情况下引号之间只写格式化要求, ...

谢谢你,学到了哈哈哈,可以正常运行了

M_bells 发表于 2020-8-11 08:33:57

永恒的蓝色梦想 发表于 2020-8-10 22:01
scanf 不加 \n 就可以了。

可以正常运行了,谢谢啦
页: [1]
查看完整版本: 运行时输入指令后要先按别的键再按Enter才继续运行?