关于C语言排序程序运行内存出错问题
最近学习指针, 用C写了一个通过指针排序的代码,生成的程序运行后提示“内存错误”,求解原因,谢谢。。。
程序代码:# include <stdio.h>
/*
判断两个数的大小,并把最大的数赋值给前者,最小值赋值给后者。
*/
void max(int *x, int *y)
{
int *z = NULL;
if(*x > *y)
{
;
}
else
{
*z = *y;
*y = *x;
*x = *z;
}
}
int main(void)
{
int a, b, c, d;
//scanf("%d%d%d%d", &a, &b, &c, &d);
a = 1; b = 2; c= 3; d = 4;
max(&a, &b); //a是a、b的最大值
max(&c, &d); //c是c、d的最大值
max(&a, &c); //a是a、c的最大值
max(&b, &d); //b是b、d的最大值
printf("%d > %d > %d > %d\n", a, c, b, d);
return 0;
}









