C语言:getchar函数的用法

有这样一个C程序:(1)#include<stdio.h>/*应用printf函数*/(2)#include<ctype.h>/*应用toupper函数*/(3)void... 有这样一个C程序:
(1)#include<stdio.h> /*应用printf函数*/
(2)#include<ctype.h> /*应用toupper函数*/

(3)void print()
{
(3) printf("\n\t This ia an example.\n\n\t You are welcome!!\n\n");
} /*\n 表示换行;\t 表示移动8个字符位*/

(4)main()
{
(5) int flag=1; /*定义整型变量并赋值*/
(6) char ch; /*定义字符变量*/
(7) while(flag)
{
(8) printf("\n Input 'F' or 'f' to start the program,\n other to exit:");
(9) ch=getchar();
(10) ch=toupper(ch); /*得到大写字母*/
(11) getchar(); /*去掉回车符*/
(12) if(ch=='F')
(13) print();
(14) else
(15) flag=0;
}
(16) return;/*返回*/
}

第(11)行的getchar();有什么作用?有谁还能举几个关于getchar()用法的例子?
展开
 我来答
小猫咪的Hjw
2018-05-22 · TA获得超过2.6万个赞
知道小有建树答主
回答量:5
采纳率:100%
帮助的人:4981
展开全部
  1. getchar 由宏实现:#define getchar() getc(stdin)。

2. getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键. 

3. getchar函数的功能是从键盘上输入一个字符。其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如:
   char c;
  c=getchar();
  #include<stdio.h>
  void main()
   {
  char c;
  printf("input a character\n");
  c=getchar();
  putchar(c);
  }
   

4. 使用getchar函数还应注意几个问题:
  getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只      接收第一个字符。
   使用本函数前必须包含文件“stdio.h”。
   在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。 

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祢腾元思柔
2019-01-05 · TA获得超过3939个赞
知道大有可为答主
回答量:3097
采纳率:25%
帮助的人:414万
展开全部
要加上循环体的话就能看得更清楚了
设循环体为putchar(c);
while((c=getchar())!='\n'){
putchar(c);}
输入为648152最后加个回车
判断
'6'!='\n'执行循环体
输出'6'
'4'!='\n'执行循环体
输出'4'
'8'!='\n'执行循环体
输出'8'
'1'!='\n'执行循环体
输出'1'
'5'!='\n'执行循环体
输出'5'
'2'!='\n'执行循环体
输出'2'
'\n'=='\n'退出循环
由于c语言区别两次输入的符号是空格
回车
或tab
所以当你在输入6之后不会立刻打印6
系统认为你一次输入还没结束
当你输入回车时输入结束
打印的时候就会把上面的一起打印(从堆栈)
屏幕上面就会又出现一行648152
一共两行
很有意思吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尖子生管理员小宇
2020-06-01 · TA获得超过102个赞
知道答主
回答量:169
采纳率:100%
帮助的人:8.1万
展开全部

在C语言开发中的getchar函数调用源码详解

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzy_ccf
2020-02-02
知道答主
回答量:37
采纳率:0%
帮助的人:1.2万
展开全部
getchar()函数的作用是从计算机终端(一般为键盘)获取一个无符号字符。getchar()函数只能接收一个字符,其函数值就是从输入设备获取到的字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式