c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题

article/2025/8/27 16:18:47

#include

int main()

{

char a,b;

scanf("%c",&a);

scanf("%c",&b);

printf("%c,%c",a,b);

}

一段看上去很简单的代码,即使是C语言初学者也能看懂。

可是在运行的时候却出现了问题:

①输入a后按下回车

78ef2beab3570dfa60256dcf96be6523.png

②用空格隔开之后再按下回车

7e4dffada700c3b8fedf5466ec221d7b.png

相信和我一样的大部分初学者,看着自己天衣无缝的代码,百思不得其解。

让我们先来看看,在百度百科中,对于scanf函数的解释

ab22328de997b3e5d46eadf497cf9fb6.png

在①中,我们只输入了a和回车。而这时,回车便留在了缓冲区中,直接被下一个scanf所吸收。在②中,输入了a、空格、b和回车,在这种情况下,我们输入的空格则进入了缓冲区中,导致b无法被读取,导致出现了问题。

解决方法

①在第二个%c前加上空格,来抵消之前输入的空格/回车

#include

int main()

{

char a,b;

scanf("%c",&a);

scanf(" %c",&b);//在%c前加上一个空格

printf("%c,%c",a,b);

}

②在第一个%c后面加上一个*c,忽略下一个读入的字符

#include

int main()

{

char a,b;

scanf("%c*c",&a);

scanf("%c",&b);

printf("%c,%c",a,b);

}

③用fflush清空缓冲区

#include

int main()

{

char a,b;

scanf("%c",&a);

fflush(stdin);

scanf("%c",&b);

printf("%c,%c",a,b);

}

④用getchar吸收字符

#include

int main()

{

char a,b;

scanf("%c",&a);

getchar();

scanf("%c",&b);

printf("%c,%c",a,b);

}

除方法①以外,其他三种方法不仅在使用scanf时有效,在使用getchar碰到类似问题的时候也有效,有兴趣的读者可以自行尝试。

到此这篇关于C语言使用scanf连续输入字符串出现的问题的文章就介绍到这了,更多相关C语言scanf连续输入字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


http://chatgpt.dhexx.cn/article/IkZG3iY5.shtml

相关文章

c语言用scanf输入指针字符串,c语言如何用scanf输入字符串

在C语言中,可以使用“scanf(“格式控制字符串”,变量内存地址)”语句输入字符串。scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。 本教程操作环…

C++中输入字符串的几种方法

C中输入字符串的几种方法 C的字符串输入方式有 1.cin>> 2.cin.get() 3.cin.getline() 4.getline() 5.gets()cin 第一种用法是逐个输入数字或者字符,中间用空格隔开。 第二种用法是读入一个字符串,遇到“空格”“TAB”“回车” 都会结束。例如&a…

C语言输入字符串

文章目录 1.scanf2.gets 1.scanf 输入字符串使用 %s。不能读取空格,遇到空格自动结束。例如,输入abcde,得到abcde;而输入abc de,只能得到abc。输入格式:scanf("%s",str)。其中str表示 地址值。 …

【C语言】字符串输入的三种方式

一、gets() 该函数原型为&#xff1a; # include <stdio.h> char *gets(char *str);gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间 # include <stdio.h> int main(void) {char a[256] {0};gets(a);printf("%s…

字符串输入的2种常用方法详解

字符串输入的2种常用方法详解 一.scanf函数1.扫描集2.逆向使用扫描集 二.gets函数 一.scanf函数 int main() {char arr[50] { 0 };scanf("%s", arr);printf("%s", arr);return 0; }这种方法可以输入字符串&#xff0c;但是只能输入一个词&#xff0c;遇到…

字符串的输入

字符串数据作为经常需要使用的数据&#xff0c;我们需要掌握它的输入&#xff0c;下面总结了不同的输入字符串的方式 c和c的有一点点不同 ①逐个逐个字符输入 我们可以设置一个数组&#xff0c;或者数组加指针的形式&#xff0c; 通过for循环或while循环的方式&#xff0c;…

C++字符串的几种输入方法(string和字符数组)

ps:本文大部分内容参考于这篇博客&#xff0c;在这里加入了自己对这些函数在字符数组和string变量的理解和总结。 C中的输入大致有6种方法&#xff1a;cin&#xff0c;cin.get(),cin.getline(),gets(),getchar() 1,cin 用法一&#xff1a;最常用的方法&#xff0c;接收一个字…

制作黑苹果安装U盘(Clover+OC+PE)三引导

制作黑苹果安装U盘&#xff08;OCCloverPE&#xff09;三引导 1.删除U盘分区表2.写入dmg到U盘3.替换EFI(Clover引导)4.扩建U盘分区表5.转换U盘分区类型 效果如图所示&#xff0c;嫌麻烦可以关注 黑果小兵的部落阁微信公众号&#xff0c;在“安装镜像”里找"10.15.6 19G73…

MINIS FORUM U820 黑苹果引导OC或CLOVER更新教程

准备工具&#xff1a;1.OC Auxiliary Tools&#xff08;简称OCAT)&#xff0c;OC Auxiliary Tools for Mac-OC Auxiliary Tools Mac版下载 V0.6.9-PC6苹果网 即新OC引导的编辑器&#xff0c;须与OC引导版本相对应&#xff0c;否则容易出错&#xff1b;2.Clover ConfiGurator&a…

黑苹果引导介绍篇

引导篇 1、EFI分区&#xff1a;全称是EFI System Partition(ESP)&#xff0c;是一个使用FAT16或FAT32的系统引导物理分区&#xff0c;支持EFI模式的电脑需要从ESP分区启动系统&#xff0c;EFI固件可从ESP加载EFI启动程序或者应用。目前主流的Clover安装的黑苹果&#xff0c;普…

WINDOWS系统下四叶草CLOVER引导U盘制作

1、进入WINDOWS系统&#xff0c;下载Boot Disk Utility ,解压并打开它。插入U盘&#xff1b; 2、点击Options设置&#xff0c;根据图选或者默认&#xff0c;点击OK&#xff1b; 制作不成功的请参照下面纠正&#xff1a;&#xff08;需要点开U盘的&#xff0b;下面的U盘&#x…

MacOS+Win10 双系统引导程序 Clover 的修复

首先&#xff0c;请做好以下准备工作&#xff1a; 1&#xff09;特定型号笔记本的EFI引导文件 2&#xff09;WinPE启动盘一枚 3&#xff09;DiskGenius 打开DiskGenius&#xff0c;我们可以看到磁盘列表 第一个磁盘&#xff0c;即ESP&#xff0c;是系统的引导盘。 开机之后&…

四叶草Clover引导界面的快捷键大全

四叶草Clover引导界面的快捷键&#xff0c;比如截屏之类的。 Clover 快捷键 Esc 退出子菜单或刷新主菜单 F1 显示帮助信息 F2 *保存preboot.log日志文件到/EFI/misc F4 *保存原始DSDT到/EFI/ACPI/origin F5 *保存初步修复的DSDT到/EFI/ACPI/origin F6 *保存显卡Bios文件到/EF…

折腾黑苹果 - 制作四叶草CLOVER引导U盘

最近开始瞎折腾黑苹果&#xff0c;几天下来发现其实安装本身不算难&#xff0c;但完善驱动真的很需要耐心。驱动的完善跟硬件本身有很大关系&#xff0c;如果你的同款硬件恰好被苹果的某款机型用过&#xff0c;很有可能装完系统后就直接被正确识别了&#xff0c;也就是所谓的“…

黑苹果制作Clover开机引导脱离U盘,小新Pro13详细教程

前言 小新Pro13在成功安装好黑苹果之后&#xff0c;心情是否很激动&#xff1f;但是想到每次开机都要插入U盘&#xff0c;总不能一直这样吧&#xff0c;放心&#xff01;这些问题大神&#xff08;不是指我&#xff09;都已经考虑好了&#xff0c;目前主要有Clover和OC这两种方…

通过CLOVER 引导Windows与Linux双系统

通过CLOVER 引导Windows与Linux双系统 什么是CLOVER为什么是 CLOVER 引导&#xff1f;正式操作1、准备工具2、配置 CLOVER 文件搜索 GUI 关键字&#xff0c;Entries区域为引导文件的相关信息搜索关键词&#xff1a;Boot搜索关键词&#xff1a;Scan&#xff0c;配置扫描哪些引导…

Clover 引导器.配置助手

Clover 引导器.配置助手.Yosemite版块.更新贴 Beta 2.0 为了让各位下载更方便本帖不设置回帖可见 希望路过的朋友帮顶 有需要的朋友顶个帖 让更多后来者们看见 提取码&#xff3b;编译PKG&#xff3d;py81&#xff3b;编译EFIboot1h2&#xff3d;8ctu&#xff3b;编译ISO&a…

使用OpenCore引导黑苹果

一.OpenCore简介 笔者在17年写过一篇黑苹果安装教程&#xff1a;黑苹果系统安装通用教程(Clover引导)&#xff0c;不过该文章用的是基于Clover引导的MacOs系统。目前随着黑苹果的另一款引导工具OpenCore不断成熟&#xff0c;使用OC是大势所趋。众多黑苹果驱动的作者已经停止对…

黑苹果引导工具 Clover 配置详解及Clover Configurator使用

黑苹果引导工具 Clover 配置详解及Clover Configurator使用 2017-03-11 14:01:40 by SemiconductorKING 转自&#xff1a;三个表哥 简介&#xff1a; 可引导mac os 10.4-10.12&#xff0c;win efi&#xff0c;linux efi 可引导传统操作系统 (WindowsXP&#xff0c;Linux&#x…

黑苹果引导工具 Clover 配置详解

各位黑果粉们&#xff0c;大家好&#xff01;今天我为大家介绍Clover Configurator&#xff08;四叶草设置助手&#xff09;的使用方法。关于Clover Configurator&#xff0c;clover党们都知道它是clover配置助手,让config.plist的编辑实现可视化、直观化、傻瓜化&#xff0c;修…