有关使用指针做交换函数的问题
我写了一个函数用来交换x, y的值,传入的是指针
如下
void swap (char *x, char *y) {
char *temp = NULL;
*temp = *x;
*y = *x;
*x = *temp;
}
运行就出错
但是改为
void swap (char *x, char *y) {
char *temp = x;
*y = *x;
*x = *temp;
}
就可以正常运行了,结果也对
不知道是为什么,是不是指针在编译时这两种写法会造成不同的结果呢?
PS:VC6.0环境