笔试的时候碰到奇奇怪怪的输入标准,发现自己连输入都没掌握..死在这个上..
连续输入有限个数字,中间空格隔开,如2 5 4
std::cin>>a>>b;
一行连续输入无线个数字,中间空格隔开,如2 4 4 2 4
std::cin>>num; char a = getchar() if(a=='\n')do_next();
输入回车或者数字,回车则结束
1. while(std::cin>>num){}
2. while(scanf("%d",&n)!=EOF)
解析
std::cin>>num中,>>会吸收空格或者换行符'\n',
而getchar实现:
Getchar调用后,若缓冲区没东西,则等待输入,知道输入回车键后,再从缓冲区读入,只读一个字符;后续再调用getchar则直接继续读缓冲区(只读一个)