反向输出多一个空格,不知道哪里出问题了?

using namespace std;

string ans_number_go;

int main()
{
    cin >> ans_number_go;
    if (ans_number_go[0] =='-')
    {
        cout <<"-";
        for (int i = ans_number_go.size() ; i > 0 ; i--)
        {
            if (ans_number_go[i] == '0')
            {
                continue;
            }
            cout<<ans_number_go[i];
        }
    }
    else if (ans_number_go[0] == '0')
    {
        cout << "0";
    }
    else
    {
        for (int i = ans_number_go.size() ; i >= 0 ; i--)
        {
            if (ans_number_go[i] == '0')
            {
                continue;
            }
            cout<<ans_number_go[i];
        }
    }
    return 0;
}

问题出在

for (int i = ans_number_go.size(); i >= 0; i--)

应该是

for (int i = ans_number_go.size()-1; i >= 0; i--)

最后一个元素的索引应该是字符串的长度减1

要学会使用编辑器进行断点调试,逐步运行分析

你的程序没有输出空格的地方,所以要有也是你输入的时候有空格。
你的程序干嘛的,怎么输入的,输入什么,期待正确的输出是什么,你都没有说,无法进一步判断。

打印输出这样写:

 cout<<ans_number_go[i]<<endl;

就没有空格了