关于C++循环嵌套的问题

cout << "请输入年龄" << endl;
int h[12] = {};
int n = -1;
do {
n++;
cin >> h[n];

    } while (h[n] != -1);

    //22 33 44 -1   

    {for (int i = 0; i < n+1 ;i++ )
        cout << h[i] << " ";

    }

为什么最后输出的时候为把-1也输出出来?谢谢!

把for循环“for (int i = 0; i < n+1 ;i++ )”
中的“i<n+1”改为“i<n”就行

因为你在循环结束后时,-1存储在h[n]里
所以输出的时候不要输出h[n]就可以了