问题及代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main( )
{
char c1,c2,c3;
c1=getchar();
c2=getchar();
cout<<c1<<" "<<c2<<endl;
cout<<int(c1)<<" "<<int(c2)<<endl;
c3=getchar();
cout<<c3<<endl;
cout<<int(c3)<<endl;
return 0;
}
运行结果:
知识点总结:
c语言中对输入输出设有缓冲区,我们通过键盘输入的字符并不是直接被getchar函数获得,而是先把输入的字符放到缓冲区,getchar再从缓冲区中依次获取字符。从终端键盘向计算机输入时,是在按Enter键以后才送到内存缓冲区中去的。不是从终端敲入一个字符马上输出一个字符,而是按下Enter键后数据送入内存缓冲区,然后每次从缓冲区读一个字符,再输出该字符。
学习心得:
其实上面的总结也是参考百度的,对于getchar的规律需要不停的实践,有了百度等知识来源的后盾相信可以帮助我们更好的了解其更加深入的规律,我也会更加努力的让其变成自己的知识。