您的位置:首页 > 编程语言 > C语言/C++

c语言 变量交换函数

2016-03-06 08:36 218 查看
<pre name="code" class="cpp"><pre name="code" class="cpp">//用指针变量作为中间变量
void swap(int *p1, int *p2)
{
int *t;

*t = *t1;
*t1 = *t2;
*t2 = *t;
}



//用局部变量作为中间变量

void swap(int *p1, int *p2){ int t; t = *t1; *t1 = *t2; *t2 = t;}



c语言好久不看,程序不练,一到面试就犯糊涂,如上面的情况,交换两个变量的值,形参应该是 有效的 指针变量。

但在里面进行两个变量的互换时,有时一时就会写成一个int *t的中间变量,然后运行,一般情况下都是core dump;

之所以会用到上面第1种的写法,很多情况下还是对指针的不熟悉所致,写程序抱着一种想当然的心情,写起来也就不会想那么多,而平时练的比较少,一般工作中如果用纯c写程序,或许还可以多练练,加强意识。但如果是用比较高层的语言写程序,很多情况下上面的片断都不用自己写,都可以用其它函数实现。

类似的还有如下错误指针的用法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息