#include<stdio.h>
int mian( ){
putchar(getchar( ));
return 0;
}
以上代码,编译运行后,发现
如果输入 >= 2个字母,只能输出开头的2个字母,为何可以输出两个呢,只有一个getchar(),为何不只输出一个字母呢?
1 回答
MadMarical
TA贡献79条经验 获得超122个赞
你好。首先C语言中的getchar是一个宏调用,相当于gets(stdin)。
这个方法有一个特点,它的返回值是输入的ASCII码。当你一次输入多个字符时,若没有输入回车,这些字符将保存在缓存之中。然后你使用了putchar,putchar的功能是每次输出一个字符。所以整个程序是输入一个字符,输出一个字符,你一次性打入多个字符则也只能输出一个字符。其他字符存在了缓存区中。至于为何只能输出开头两个字母,希望能贴出完整代码来。
- 1 回答
- 0 关注
- 1693 浏览
添加回答
举报
0/150
提交
取消