swap( int* p1,int* p2 )找错

下面的一段程序有什么错误:
swap( int* p1,int* p2 )
{
int *p;
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
  在 swap 函数中,p 是一个“野”指针,有可能指向系统区,
导致程序运行的崩溃。在 VC++中 DEBUG 运行时提示错误“Access
Violation”。该程序应该改为:
swap( int* p1,int* p2 )
{
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}


你可能感兴趣的:(swap)