为什么cin>> p[i]发生了异常

#include
#include
using namespace std;

int main()
{
int m;
cout << "输入m\n";
cin >> m;

int * p = new int [m];

    int i;
    for (i = 0; i < m; i++)
    {
        char  c = cin.get();
        if (c == '\n')
        {
            cin >> p[i];
            
        }
        delete[]p;
}

}

为啥c=='\n'的时候你要输入p[i]呢。
出错原因很清楚,你把delete []p放在for循环里,肯定会出错啊,一旦删除了,你下次循环再cin>>p[i]就崩溃了。
把delete []p放到for循环外

异常信息呢,运行报错?

我猜想,你输入的m不是数字?脑筋急转弯吗