为什么这个程序运行后没有输出?(用的dev--c++)

#include
#include
using namespace std;

class p
{
public:
string mz;
int hx,mb;
};

int main()
{
int n;
cin>>n;
p ren[n-1];
for(int i=0;i<=n-1;i++)
{
cin>>ren[i].mz>>ren[i].hx>>ren[i].mb;
};
cout<<ren[0].mz;
//无输出,返回值不为0,直接就运行错误了
return 0;
}

p ren[n-1];
这个写法,有的编译器不支持,比如vc++
需要写成
p * ren = new p[n-1];

我用上面代码在DEV C++里面按F11,控制台输入1然后回车,再输入2 3 4,然后回车,结果输出2

#include<string> 
#include<iostream>

using namespace std;

class p
{
    public:
    string mz;
    int hx,mb;
};

int main()
{
    int n;
    cin>>n;
    p ren[n-1];

    for(int i=0;i<=n-1;i++)
    {
        cin>>ren[i].mz>>ren[i].hx>>ren[i].mb;
    }

    cout<<ren[0].mz;

    return 0;
}

图片说明