一下问题在DEVC++中编译
#include
using namespace std;
int main()
{
char c;
while((c = getchar()) != '\n')
{
cout<return 0;
}
该程序会以每行一个的格式输出输入的内容
但如果在char c后面加入cin>>c
#include
using namespace std;
int main()
{
char c;
cin>>c;
while((c = getchar()) != '\n')
{
cout<return 0;
}
则在运行时,输入的第一个字符不会被输出
求解答原因
在问为什么之前,你应该先了解是什么
getchar,gets,scanf,cin,这些都是从缓冲区里读取控制台输入的方法
你提前把数据读走了当然后面就没了呀
因为第一个字符是通过cin>>c赋给c的,在执行循环中c=getchar()!='\n'会将其覆盖。