小弟急求:C语言问题
#include "stdafx.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{
putchar(getchar());
putchar(getchar());
putchar(getchar());
system("pause");
return 0;
}
其中putchar函数的调用,到底顺序是怎样的?
为什么我连续输入abc,按下回车,会出现abc的相应字符?
如果按照语句来,输入一个a,按下回车,则立刻出来一个a;再输入一个b,按下回车,出来一个b;
之后便不让再继续输入了?
这到底是什么原因?
[解决办法]
putchar,getchar只对缓冲区进行操作,当你敲回车键之后开始对缓冲区进行处理。
[解决办法]
putchar每次只能输出一个字符,另外你是如a之后按下回车,会使用你的一个getchar的,输入a+回车,再输入b+回车,这相当于4个字符了。
[解决办法]
第一条语句接收的是a,第二条接收的是打完a之后的回车键,第三条接收b,所以出现这个效果,每条语句下面加getchar()或者fflush(stdin);就好,好多人遇到这个问题了