【发布时间】:2013-03-08 02:28:31
【问题描述】:
调用 add(4) 时,我的 main() 在下面崩溃。
据我了解 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 - @Rubber boots 是正确的
-
不,他不是。阅读理解,人。
*c = d不使c指向d! -
更糟糕的是,您正在写入并返回一个未初始化的指针。
-
@all - 哎呀,我看到并更正了您的投诉时的评论。现在做什么?我应该删除修改吗?该怎么做?
-
这太不真实了,当我点击它时,我认为这将是 10 个人争夺正确答案,结果我发现自己对六个错误答案投了反对票