为什么它输出"分割故障(core dustped(
当我运行以下代码时,它说的段故障(核心倾倒(
#include <stdio.h>
void swap(int *, int *);
int main() {
int x = 5, y = 10;
swap(x, y);
printf("%in %in", x, y);
}
void swap(int *a, int *b) {
int s;
s = *a;
*a = *b;
*b = s;
}
问题是在 swap(x, y);
您正在传递该值,而不是地址。您应该有编译器警告。
使用swap(&x, &y);