为什么会输出“Segmentation failure(core dumped)”
当我运行以下代码时,它显示段错误(核心已转储)
#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;
}
最佳答案
问题出在 swap(x, y);
您正在传递值而不是地址。您应该收到编译器警告。
使用交换(&x, &y);
关于C指针-Segment错误的解决办法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48664959/