当添加(4)被调用时,我的main()崩溃。函数返回指向int的指针
据我所知int * add,它应该返回一个指向整数的指针。然后,我应该可以主要说:
int * a = add(3);
返回一个指向int的指针。
请解释我做错了什么。
#include <cstdlib>
#include <iostream>
using namespace std;
int* add (int a) {
int * c, d;
d = a + 1;
*c = d;
cout << "c = " << c << endl;
return c;
}
int main(int argc, char *argv[])
{
int a = 4;
int * c;
c = add(4);
system("PAUSE");
return EXIT_SUCCESS;
}
+1 - @橡胶靴是正确的 – ChrisBD 2010-08-18 14:38:07
不,他不是。阅读理解,人。 '* c = d' does * not * make'c' point to'd'! – 2010-08-18 14:38:45
比这更糟糕的是,您正在写入并返回一个未初始化的指针。 – 2010-08-18 14:38:47