C++程序为何一时输出0一时不输出?

/*
    Name:NOI 1.12 05
    Copyright:2023.4.15 21:25 
    Author: Dylanchen
    Date: 15/04/23 21:24
    Description:noi.openjudge.cn/ch0112/05
*/
#include<bits/stdc++.h>
using namespace std;
string b1,b2;
void find_buffer();
int main(){
    cin>>b1;
    getchar();
    getline(cin,b2);
    find_buffer();
    return 0;
}
void find_buffer(){
    int __VALUE__=0;
    if(b1==b2) cout<<1;return;
    for(int i = 0;i<b2.size();i++){
            int in = b2.find(" ",b2.size()-1);
            if(in!=string::npos){
                b2.erase(in,b2.size());
                __VALUE__++;
            }
            else{
                cout<<__VALUE__<<endl;
                return;
            }
            
    }
    return;
}

C++程序为何一时输出0一时不输出?