1.有关缓冲区,大多数情况记得加getchar()
2.scanf("%s",str)读到空格就停止了,gets()可以读到回车,如果在c++中gets()不行的话,可以考虑用cin.getline()。cin.getline()实际上有三个参数(指针,接受个数,结束字符),当第三个参数省略时,系统默认为‘\0’
3.cin 与 scanf() 在输入数据很多时,建议不用cin,因为占用时间长。
比如:
for(int i=1;i<=1000000;i++)
cin>>a[i];
可能会用掉比scanf多很多倍的时间。
所以,一些单个的输入可以用cin,但循环之类的输入最好用scanf。
4.多实例输入可用while(~scanf("%d",&n)) 也可用while(cin>>n)