鱼C论坛

 找回密码
 立即注册
查看: 1075|回复: 5

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

[复制链接]
发表于 2020-8-10 21:55:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助!!!!!

我学习小甲鱼老师的视频自己敲代码,然后运行可以,但是在输入分数后总是要按下其他键再按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-11 00:32:44
键盘输入 scanf() 函数是严格按照你在引号内的格式从缓冲区读取字符。一般情况下引号之间只写格式化要求,格式化内容要和输入内容一致,数与数、字符与字符之间可以用空格隔开,也可以用逗号隔开,否则就会出错。除了格式化操作符以外,不加任何其他字符,连空格都不要加。

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

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

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 22:35:22 | 显示全部楼层
熟悉的C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 00:32:44 | 显示全部楼层    本楼为最佳答案   
键盘输入 scanf() 函数是严格按照你在引号内的格式从缓冲区读取字符。一般情况下引号之间只写格式化要求,格式化内容要和输入内容一致,数与数、字符与字符之间可以用空格隔开,也可以用逗号隔开,否则就会出错。除了格式化操作符以外,不加任何其他字符,连空格都不要加。

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

所以,你的语句中的 \n ,不应该加的,去掉后,程序才能正常地运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

谢谢你,学到了哈哈哈,可以正常运行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-11 08:33:57 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-8-10 22:01
scanf 不加 \n 就可以了。

可以正常运行了,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 07:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表