专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

getchar怎么用,getchar函数用法

来源:小易整编  作者:小易  发布时间:2023-03-24 02:38
摘要:getchar怎么用,getchar函数用法01前言 当我们在编程的时候,避免不了对数据进行输入,那么在对数据输入的时候,有时候只有需要输入单个字符时,程序上需要涉及到getchar()函数,如果使用不当,则会降低我们的编程效率。之前...

getchar怎么用,getchar函数用法

01前言

       当我们在编程的时候,避免不了对数据进行输入,那么在对数据输入的时候,有时候只有需要输入单个字符时,程序上需要涉及到getchar()函数,如果使用不当,则会降低我们的编程效率。之前小编对C语言中getchar()函数的使用还存在一定的模糊,今天整理出来,以后要是还对这个知识点感到模糊,就回头看看。

02什么是getchar()函数

       声明:以下内容参考或来源于360百科。

定义

       getchar()函数的作用是从计算机终端(一般为键盘)输入一个字符。getchar()函数只能接收一个字符,其函数值就是从输入设备得到的字符。

中文名称字符输入函数; 字符输入; 无参数
外文名称getchar()
函数原型int getchar(void);
功能从stdio流中读字符
适用语言C语言

说明

       我们在编程中需要对字符做单次输入时,通常使用scanf函数,如果需要对字符做多次输入时,可以会多次调用scanf函数,但是因为输入缓冲区及回车键的原因导致某次字符的输入时候不尽人意。那么此时,就需要用到getchar函数来避免这个问题。因为getchar函数可以取走回车字符,类似于清空输入缓存区,避免回车字符对第二次输出造成影响。

03程序分析

       未调用getchar函数前

#include <stdio.h>
#include <strings.h>
#include <string.h>
   
int main(int argc, const char **argv)
{
    char a, b,c;
    
    scanf("%c", &a);
    scanf("%c", &b);
    printf("a: %c\n", a);
    printf("b: %c\n", b);
    return 0;
}
/*
程序说明:
  该函数需要分别对字符变量a、b赋值
  需要对scanf函数进行两次调用
  但是此时没有调用getchar函数
-------------------------------
程序输出:
1
a: 1
b:
-------------------------------
分析:
  因为在第一次调用scanf函数时
      输入1并且按了回车键
      此时系统已经默默调用了scanf函数,
      输入2并且按了回车键
      此时输入函数早已经结束,
      输出函数将结果进行输出
      
  由此我们可以看到
  '\n'字符赋值给了b,
记录于:2020/6/28
*/

假如你对以上程序有疑问,我想下面的程序能解你疑惑。

#include <stdio.h>
#include <strings.h>
#include <string.h>
   
int main(int argc, const char **argv)
{
    char a, b,c;
    
    scanf("%c", &a);
    scanf("%c", &b);
    scanf("%c", &c);
    printf("a: %c\n", a);
    printf("b: %c\n", b);
    printf("c: %c\n", c);
    return 0;
}
/*
程序说明:
  该函数需要分别对字符变量a、b、c赋值
  需要对scanf函数进行三次调用
  但是此时依旧没有调用getchar函数
-------------------------------
程序输出:
1
2
a: 1
b:
c: 2
-------------------------------
分析:
  因为在第一次调用scanf函数时
      输入1并且按了回车键
      第二次调用scanf函数时,
      输入2并且按了回车键
      此时输入函数已经结束,因为第三次调用scanf已经完成
      输出函数将结果进行输出
      
  由此我们更加清楚的看到
  '\n'字符赋值给了b,
  相信这个程序能解你上一个程序的疑惑
记录于:2020/6/28
*/

       调用getchar函数后

#include <stdio.h>
#include <strings.h>
#include <string.h>
   
int main(int argc, const char **argv)
{
    char a, b,c;
    
    scanf("%c", &a);
    getchar();
    scanf("%c", &b);
    printf("a: %c\n", a);
    printf("b: %c\n", b);
    return 0;
}
/*
程序说明:
  该函数需要分别对字符变量a、b赋值
  需要对scanf函数进行两次调用
  期间调用了getchar函数
  用以取走'\n'字符,避免其对输入的影响
-------------------------------
程序输出:
1
2
a: 1
b: 2
-------------------------------
分析:
  因为在第一次调用scanf函数时
      输入1并且按了回车键
      此时1已经赋值给了a
      系统在你按了回车键的同时
      调用了getchar函数,
      取走了'\n'字数
      此时输入缓冲区里面空无一物
      当你输入2并且按了回车键
      此时因为getchar消除了'\n'字符的影响
      因此2赋值给了b,
      而第二次回车键使输入函数结束
      输出函数将结果进行输出
      
  由此我们可以看到
  getchar函数的效果
记录于:2020/6/28
*/

       程序写到这里,可能有一些爱搞事的小伙伴,一次输入不是一个字符,而是多个字符,那么你的程序结果出现类似这种情况,但是以下这种情况,字符之间的赋值又是怎样的呢?

getchar怎么用,getchar函数用法

04结尾

       本次关于getchar函数的相关介绍及例程,就先整理到这里。


本文地址:IT问答频道 https://www.hkm168.com/itwenda/938789.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • Excel函数学习之CHOOSE函数 vs IF函数

    Excel函数学习之CHOOSE函数 vs IF函数

    如果Excel函数圈也有江湖,那CHOOSE函数绝对算得上扫地僧。它不如IF函数那般威震江湖,但它的本领却更胜一筹。今天小花就带大家好好见识一下被大多数人冷遇的CHOOSE函数!   CHOOSE函数使用index_num返回数值参数列...

  • Matlab中length函数怎么用

    Matlab中length函数怎么用

    在matlab中,length函数用于返回向量、数组或字符串中的元素个数。以下是length函数的一些用法示例:1、返回向量中的元素个数:v = [1, 2, 3, 4, 5];  numElements = length(v); % 结果...

  • mysql列转行函数是什么

    mysql列转行函数是什么

    在mysql中,列转行函数是“group_concat()”函数;该函数用于将非空列值按照分组条件进行合并并最终返回,如果其中有空值则返回的结果是空,语法为“selectgroup_concat(name separator';')列...

  • excel求差值用什么函数

    excel求差值用什么函数

    在excel中求差值是没有专门的函数,excel求差值的方法是:首先打开excel工作表;然后在f7单元格内输入“=d7-e7”公式;最后按回车即可得到两个数之间的差值即可。本文操作环境:Windows7系统、DellG3电脑、Micro...

  • Excel Mid函数的使用方法

    Excel Mid函数的使用方法

    在Excel中,提取指定长度的字符有两个函数,分别为Mid函数和Midb函数,前者用于提取指定长度的字符个数,后者用于提取指定长度的字节个数。用Mid函数提取时,无论是汉字、字母还是数字都算一个字符;用Midb函数提取时,汉字算两个字节...

  • 周排行
  • 月排行
  • 年排行

精彩推荐