1.下面的一段程序有什么错误:
swap(int* p1,int* p2 )
{
int *p;
/*p= NULL,NULL就是一个宏定义的0,但是不能够往*p里面写东西,因为这个是个常量,不能够给常量赋值*/
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
在swap函数中,p是一个“野”指针,有可能指向系统区,导致程序运行的崩溃。在vc++中debug运行时提示错误“access violation”。该程序应该改为:
swap(int* p1,int* p2 )
{
int p;