算法训练 加法运算(指针的一个测试)
算法训练 加法运算(指针的一个测试)
#include <iostream>
using namespace std;
int* GetTwoInts(){
int a;
cin >> a;
cin >> *(&a+1);//使用紧接在a后面未分配的地址
cout << a << ' ' << *(&a+1) << endl;
cout << &a << endl;
int *b = &a; //此处将分配空间,覆盖了地址(&a+1)所输入的值
cout << *b << ' ' << *(b+1) << endl;
cout << a << ' ' << *(&a+1) << endl;
return &a;
}
int main(){
int *a = GetTwoInts();
//子函数的a在子函数结束时就销毁,返回的指针指向的空间并不是预料的
//这是错误的使用
cout << *a << *(a+1);
return 0;
}