为什么输出“分段故障(核心转储)
当我运行以下代码时,它表示段故障(核心转储)
#include <stdio.h>
void swap(int *, int *);
int main() {
int x = 5, y = 10;
swap(x, y);
printf("%i\n %i\n", x, y);
}
void swap(int *a, int *b) {
int s;
s = *a;
*a = *b;
*b = s;
}
1 回答
问题在于
swap(x, y);
您传递的是值而不是地址 . 你应该有编译器警告 .
使用
swap(&x, &y);