C++ C++;不会打印最后一个值,但稍后会打印(混淆)
您好,如果我在此输入一些数字:C++ C++;不会打印最后一个值,但稍后会打印(混淆),c++,C++,您好,如果我在此输入一些数字: int main() { int currval = 0, val = 0; if (std::cin >> currval) { int cnt = 1; while (std::cin >> val) { if (val == currval) { ++cnt; } else {
int main() {
int currval = 0, val = 0;
if (std::cin >> currval) {
int cnt = 1;
while (std::cin >> val) {
if (val == currval) {
++cnt;
}
else {
std::cout << currval << " occurs " << cnt << " times. " << std::endl;
currval = val;
cnt = 1;
}
}
std::cout << currval << " occurs " << cnt << " times. ";
}
return 0;
}
intmain(){
int currval=0,val=0;
如果(标准::cin>>当前值){
int-cnt=1;
while(std::cin>>val){
如果(val==currval){
++碳纳米管;
}
否则{
std::cout如果您需要在特定位置刷新流,则需要刷新它。否则,它可以在内部缓冲并稍后刷新。endl上一篇coutOne对初学者的好建议-调试器是您最好的朋友。@Chemik在这种情况下帮不了多少忙。@Chemik非常正确,但在这种特殊情况下,不知道有多大帮助h会有帮助的。如果你不知道缓冲输出是什么或刷新是什么…不知道调试会有多大帮助。但你是对的,调试是必须的。我的评论是对“在纸上运行代码”的反应当一个不是C++的新手知道,打印一个代码> EntL>代码会导致一个刷新。默认情况下,试图读取<代码> STD::CIN < /C>会导致代码“> STD::CUT CUT/CUDE)需要被显式刷新),所以如果我不“刷新”它,你的话就说出来了(花哨的字没有CopnEndot)使用std::endl
可能会起作用。你能解释一下刷新和缓冲是什么意思吗?对不起,如果我听上去不懂,我已经习惯python了。