void func(int *x)
{
if (x == nullptr)
{
cout << "nullptr" << endl;
return;
}
*x = *x - 1;
if ((*x) < 0)
{
delete(x);
}
else
{
cout << *x << endl;
}
}
void test()
{
int *x = new int{3};
for (int i = 0; i < 5; i++)
{
func(x);
}
}
上述代码中,test
函数的运行结果是什么?请说明原因。