读书人

有关使用指针做交换函数的有关问题

发布时间: 2012-03-26 15:46:56 作者: rapoo

有关使用指针做交换函数的问题
我写了一个函数用来交换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环境

[解决办法]
你让temp指向空,*temp就没有意义了!
看来楼主对指针的理解还需要加强啊

读书人网 >C语言

热点推荐