-1
,所以我开始在C编程现在我有一个指针问题:改变价值
int * diff(){
int array[2] = {1,2};
return array;
}
int main(int argc, char const *argv[]) {
int *p;
p = diff();
printf("%d\n", *(p));
printf("%d\n", *(p));
return 0;
}
因此启动该程序后。我的终端显示如下:
1
0
那么为什么* p的值会改变?
返回指向局部变量==未定义行为的指针。 –
@Downvoters,由于这个问题写得很好,并且有一个很好的代码片段,所以有点苛刻。作为初学者,很难调出搜索条件。 – Bathsheba