猿问

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

#include<stdio.h>
int mian( ){
 putchar(getchar( ));
 return 0;
}

以上代码,编译运行后,发现

如果输入 >= 2个字母,只能输出开头的2个字母,为何可以输出两个呢,只有一个getchar(),为何不只输出一个字母呢?


丶树根根
浏览 1720回答 1
1回答

MadMarical

你好。首先C语言中的getchar是一个宏调用,相当于gets(stdin)。这个方法有一个特点,它的返回值是输入的ASCII码。当你一次输入多个字符时,若没有输入回车,这些字符将保存在缓存之中。然后你使用了putchar,putchar的功能是每次输出一个字符。所以整个程序是输入一个字符,输出一个字符,你一次性打入多个字符则也只能输出一个字符。其他字符存在了缓存区中。至于为何只能输出开头两个字母,希望能贴出完整代码来。
随时随地看视频慕课网APP
我要回答