首页 > 其他分享 >神奇的getchar()

神奇的getchar()

时间:2024-11-15 17:14:49浏览次数:3  
标签:字符 读取 scanf getchar 换行符 输入 神奇

C语言中的getchar()

文章目录


前言

getchar() 是 C 语言标准库中的一个函数,它用于从标准输入流(通常是键盘)读取下一个可用的字符。


提示:以下是本篇文章正文内容,下面案例仅供参考

一、getchar()是什么?

getchar() 是一个非常基础的函数,它的使用场景非常广泛,尤其是在需要逐个字符处理输入时。然而,需要注意的是,getchar() 只能处理单个字符,如果需要读取字符串,通常会使用 fgets() 或其他字符串处理函数。

二、使用案例

1.读取单个字符

代码如下(示例):

#include <stdio.h>

int main() {
    char ch;     // 读取一个字符
    ch = getchar();
    printf("You entered: %c\n", ch);

    return 0;
}

在这个例子中,程序会等待用户输入一个字符,然后打印这个字符。如果用户输入 A 然后按下回车,程序会输出 You entered: A

2.吸收换行符

代码如下(示例):

#include<stdio.h>

int main()
{
    int i, j, m, n;
    char a[10][10];
    scanf("%d%d", &m, &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            scanf("%c", &a[i][j]);
        }
        getchar();  //用来读取并丢弃每行结尾的换行符
    }

    return 0;
}

如果用户输入了一个字符后按下回车,scanf("%c", &a[i][j]); 会读取这个字符,但是不会读取后面的换行符。下一次循环时,scanf 会立即读取到这个换行符并将其存储到数组中,这不是我们想要的结果。通过在每行输入后调用 getchar(),我们可以确保换行符被读取并丢弃,这样下一次 scanf 调用时就不会受到影响。


总结

getchar() 是 C 语言中用于从标准输入流读取单个字符的函数,它返回读取的字符或在文件结束时返回 -1。这个函数广泛应用于读取用户命令、处理密码输入(不显示输入)、清除输入缓冲区中的换行符等。getchar() 也适合在文本界面程序中逐字符读取用户输入,以及在控制台游戏中处理即时指令。由于其简单性,getchar() 是处理字符级输入的基础工具,但不适合读取字符串。

标签:字符,读取,scanf,getchar,换行符,输入,神奇
From: https://blog.csdn.net/2401_88601421/article/details/143803220

相关文章

  • 顶会新热门:小波变换×Transformer,效率翻倍的AI图像去噪神奇组合
    2024深度学习发论文&模型涨点之——小波变换+Transformer 小波变换与Transformer的结合主要探讨如何利用小波变换的多尺度特性来增强Transformer在处理信号和图像数据时的表现。具体来说,小波变换能够有效提取信号中的局部特征,并在时间和频率域上提供信息,这对于处理复杂的......
  • 九色鸟补光仪:守护眼睛的神奇之光!
    在眼睛保健的领域中,九色鸟补光仪无疑是一颗耀眼的明星。它以先进的技术和独特的设计,为我们的眼睛带来了全方位的呵护。九色鸟补光仪的核心是其独特的“六维防护”体系。这一体系宛如坚固的盾牌,守护着我们脆弱的眼睛。其中,模拟自然光的技术堪称一绝。它使用自研的LED灯珠,这......
  • 被认为是准确率最高的色彩提示笔!推荐这款神奇的AI自动上色技术!真正二次元的福音(带私活
    今天带来一款不需要安装任何环境、做任何配置,下载然后双击,就可以给线描图画上色的开源项目。它就是style2paints真正二次元的福音介绍Stylepaints2 被认为是准确率最高的色彩提示笔,被称为「神经提示笔(neuralhintpen)」有着 最高准确度、最自然的风格 、最协调的风格......
  • 【NLP自然语言处理】Attention机制原理揭秘:赋予神经网络‘聚焦’与‘理解’的神奇力量
    目录......
  • 开启Python包管理新纪元:探索devpi的神奇之处
    开启Python包管理新纪元:探索devpi的神奇之处1.背景介绍:为何选择devpi?在Python开发中,依赖管理是不可或缺的一环。devpi,一个强大的工具,它不仅仅是一个PyPI代理和缓存服务器,更是一个完整的包管理解决方案。它允许开发者构建本地或私有的包索引,极大地简化了依赖管理和包发布......
  • 星海智算:【镜像教程】MimicBrush:神奇画刷,一键搞定局部重绘!
    [MimicBrush 镜像教程 ]—— 欢迎使用星海智算——MimicBrush✦ 模型介绍 MimicBrush是由阿里巴巴、香港大学和蚂蚁集团联合研发的创新AI图像编辑工具。它允许用户通过简单操作,精准替换图片局部,轻松实现高质量的艺术修图。其特色功能包括先进的图像识别技术、自......
  • popmotion,一款神奇的 JavaScript 开源动画库
    一、Popmotion简介Popmotion是一款强大的JavaScript开源动画库。它具有轻量、灵活且高性能的特点。(一)轻量性它的代码体积较小,不会给项目带来过多的负担。这使得在各种规模的Web应用中都能轻松集成,无论是简单的小型网站还是复杂的大型单页应用。(二)灵活性1.动画类型多样......
  • 预算不变,数据安全大升级!揭秘TRAID+的神奇之处
    假期过后,公司弥漫着一股低沉的气息,公司的CTO,小威,正面对着一个令人头疼的问题——如何在不增加预算的情况下,提高公司的数据安全性。如今各种勒索病毒层出不穷,或是因为硬盘的损坏或者员工的马虎使数据丢失都会让公司损失巨大。俗话说鸡蛋不要放在一个篮子里。面对着公司的海量数据......
  • 【最全】神奇的Optuna调参库介绍
    建模领域有一个公认的观点,那就是数据决定模型的上限,而算法和参数的选择会让模型不断逼近这个上限。在机器学习建模中,有一个重要且耗时的模块,那就是调参。Optuna是一个用于超参数优化的开源自动化调参框架,它可以帮助建模工程师在机器学习模型训练过程中自动搜索最佳的超参数......
  • 神奇的幻方 NOIP 2015 题解
    描述幻方是一种很神奇的 N×N 矩阵:它由数字 1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。当 N 为奇数时,我们可以通过下方法构建一个幻方:首先将 1 写在第一行的中间。之后,按如下方式从小到大依次填写每个数 K(K=2,3,⋯,N×N) :若 (K−1)......