为了账号安全,请及时绑定邮箱和手机立即绑定

关于getchar( )函数疑问丨C语言

关于getchar( )函数疑问丨C语言

C
丶树根根 2016-01-29 20:11:04
#include<stdio.h> int mian( ){  putchar(getchar( ));  return 0; } 以上代码,编译运行后,发现 如果输入 >= 2个字母,只能输出开头的2个字母,为何可以输出两个呢,只有一个getchar(),为何不只输出一个字母呢?
查看完整描述

1 回答

?
MadMarical

TA贡献79条经验 获得超122个赞

你好。首先C语言中的getchar是一个宏调用,相当于gets(stdin)。

这个方法有一个特点,它的返回值是输入的ASCII码。当你一次输入多个字符时,若没有输入回车,这些字符将保存在缓存之中。然后你使用了putchar,putchar的功能是每次输出一个字符。所以整个程序是输入一个字符,输出一个字符,你一次性打入多个字符则也只能输出一个字符。其他字符存在了缓存区中。至于为何只能输出开头两个字母,希望能贴出完整代码来。

查看完整回答
反对 回复 2016-01-30
  • 1 回答
  • 0 关注
  • 1693 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信