专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

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函数的相关介绍及例程,就先整理到这里。


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


百科问答
小编:小易整编
相关文章相关阅读
  • Excel中countif函数的使用方法

    Excel中countif函数的使用方法

    Excel中有很多函数,很多都可以为我们大大减少计算的时间,一步就得出结果,很多朋友在使用countif函数时,会出现一些错误导致不成功,我们这就来给你详细讲讲countif函数是应该如何使用的。countif函数的含义...

  • SUBTOTAL函数怎么用?

    SUBTOTAL函数怎么用?

    操作方法01隐藏行汇总方法:在目标单元格输入公式:=SUBTOTAL(109,C3:C9)。02筛选汇总。方法:在目标单元格输入公式:=SUBTOTAL...

  • 函数库是什么意思?

    函数库是什么意思?

    函数库是指由一组编写好的、结构化的可执行函数组成的库文件,其中的函数可以增加程序的通用功能以提升程序的运行效率,节省开发时间并提高软件的质量。函数库更常用于缩短编程时间、提供程序实现通用功能以及用于程序编写中特定功能的实现。函数库有帮助程...

  • 用数学画图软件——Graph绘制函数图形

    用数学画图软件——Graph绘制函数图形

    Graph是一款开源类的绘制函数图像软件。它不仅能根据函数绘制其图像,还能够绘制曲线上的切线、法线和阴影等。除了绘制功能,它还具有计算功能,其中包括曲线长度、面积等的计算。下面我来给大家介绍一下如何使用Graph绘制函数图像。操作方法...

  • 手机蓝牙的作用和用法(手机蓝牙有什么用途)

    手机蓝牙的作用和用法(手机蓝牙有什么用途)

    每部手机上都有一个蓝牙功能,大家以前都会用它来传输文件,不过随着移动网络和WiFi的普及,这个功能也渐渐被大家忽略了。今天,我们就来科普一些手机蓝牙不为人知的功能,让大家可以更好的使用这一功能。1、传输文件传输文件,这一功能应该是大家最熟悉...

  • 磁盘阵列raid5的用法

    磁盘阵列raid5的用法

    操作方法01在日常应用中,大多是把服务器上所有的硬盘创建RAID5,并且只划分了一个“逻辑磁盘”,这样从理论上来讲没有任何问题,在实际中也可以可以使用的,但是这种方法并不可取。RAID5是一种存储性...

  • C语言while语句的用法

    C语言while语句的用法

    while语句的一般形式为:while(表达式)语句其中表达式是循环条件,语句为循环体。#includeintmain(void){inti,sum=0;i=1;while(i...

  • Excel SLOPE函数的使用方法

    Excel SLOPE函数的使用方法

    在数学中SLOPE是斜率的意思,Excel中的SLOPE函数也是一个计算斜率的函数。请诸位和我一起学习——SLOPE函数。操作方法01SLOPE函数的功能把已知的自变量和因变量作为数据点,计算线性回...

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

精彩推荐