【发布时间】:2020-01-04 10:21:07
【问题描述】:
当我写这个程序的时候,遇到了分段错误
void swap(int *a,int *b){
int *temp;
*temp=*a;
*a=*b;
*b=*temp; }
但是当我分配一些内存时,没有出现分段错误
void swap(int *a,int *b){
int *temp;
temp = malloc(sizeof(int));
if (temp == NULL)
return;
*temp=*a;
*a=*b;
*b=*temp;
free(temp);
}
但这背后的原因是什么?
【问题讨论】:
-
在第一个版本中,你认为
temp指向什么?
标签: c