代码:
#include <iostream>
using namespace std;
char* f() {
char* p = new char[5];
cin.getline(p,5);
cin.get();
cout << *p <<endl;
return p;
}
int main()
{
char* p1 = f();
cout << p1;
delete [] p1;
}
分析:f()返回值类型为指向char的指针。在main()中令char* p = f();实际上是两个指针同时指向了相同的内存空间,而不是指针对指针赋值。
结果: