C++关于是否需要赋予初值


#include <iostream>

using namespace std;

int main()
{
    int n;
    while (cin>>n,n)
    {
        for (int i=0;i<n;i++)
        {
            for (int j = 0;j<n;j++)
            {
                int left=j+1,right=n-j,up=i+1,down=n-i;
                cout<<min(min(left,right),min(up,down))<<" ";
            }
            cout<<endl;
        }
    }
    return 0;
}

为啥这里n不用赋予初值也能正常运行,为啥有些时候不赋予n初值,有时候循环就不能进去,,上午刚碰到到这种情况

你理解的没错
cin>>n就是输入值赋值给n

int n;系统默认给n一个随机值,如果这个数不满足你的判断条件就进不去了

n是后来输入的就不用赋初值了