要求:判断程序对错,并对错误的程序进行改正
第一道:
(运行错误)
#include<iostream>
using namespace std;
void Initiate(int *a)
{
a=NULL;
}
void main()
{
int *a; //声明一个指向int的指针,但是没有初始化,也就是说实参a的地址未知,所以出错
Initiate(a);
}
第二道:
(运行正确)
#include<iostream>
using namespace std;
void Initiate(int *a)
{
a=NULL;
}
void main()
{
int a; //声明了一个int型的 a,本身占有内存空间
Initiate(&a); //使用&a,实参传入地址
}
第三道:
(运行正确)
#include<iostream>
using namespace std;
void Initiate(int **a) //由于定义的指针没有具体的内存地址,所以用指向指针的指针对指针赋值地址。
{
*a=NULL;
cout<<"bb"<<endl;
}
void main()
{
int *a;
Initiate(&a); //由于用int *a,只是声明了一个指针&#