用函数交换两个变量的值(C语言指针)
2015-03-18 17:13
477 查看
说道到交换两个变量值,很自然的想到,用第三方变量交换如下:
但是如果写在函数中,你调用这个函数,会发现,a和b的值在函数内部交换,当你在mian()中调用这个函数中,发现依然没有交换
这时候就需要用到指针,如下
在外面的函数里面通过指针直接交换传递进去的值,这个可以有,OK,我是这样理解的!
#include <stdio.h> int swap(int x,int y) { int a,b,temp; temp=a; a=b; b=temp; } int main() { swap(a,b); printf("a=%d,b=%d",a,b); }
但是如果写在函数中,你调用这个函数,会发现,a和b的值在函数内部交换,当你在mian()中调用这个函数中,发现依然没有交换
这时候就需要用到指针,如下
#include <stdio.h> void swap(int *px,int *py) { int ptemp; ptemp=*px; *px=*py; *py=ptemp; } int main(int argc, const char * argv[]) { // insert code here... int a=1,b=2; printf("a=%d,b=%d\n",a,b); swap(&a, &b); printf("a=%d,b=%d\n",a,b); return 0; }
在外面的函数里面通过指针直接交换传递进去的值,这个可以有,OK,我是这样理解的!
相关文章推荐
- [c语言笔记]关于指针操作中使用异或交换两个变量的值
- 通过函数给指针赋值(二)交换两个变量的值
- 指针的应用(c语言)——(子函数实现交换父函数中变量的值)
- 使用C语言指针交换两个变量的值
- 编写函数交换两个int型指针所指向的值,调用并检查该函数,输出交换后的值。
- C语言学习4: 函数返回值与传入参数,关于函数值传递和类型隐性转换,变量不同的作用域,static变量,多文件编译例如两个C文件,显示函数调用语句跳转,递归,斐波那契数列,多文件编译相同变量的问题。
- C语言学习之交换两个变量的值
- 第十六周 利用函数和指针对两个数字进行交换
- C语言交换两个变量值不利用额外变量
- 怎样在不使用第三方变量交换函数的两个参数
- c++中用指针交换两个变量的值
- c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别 Node *p=(Node *)malloc(sizeof(Node)); 和 Node p 两个有什么区别??? Node是一
- C语言的那些事——用指针交换两个变量值
- 利用C语言重定向函数freopen实现交换两个文本文件内容
- 请用C语言在32位环境下,两个无符号长整数相加的函数,相加之和不能存储在64位变量中
- 标准C语言,不用引入新变量就可以交换两个变量的方法及其注意事项
- 不用临时变量交换两个变量的值——函数对象
- c语言的声明__它是指针?变量?还是函数呢?
- C语言实现的线性表 函数形参:指针类型与变量类型的区别 (SqList *L)(SqList L)
- 通过void指针实现跨类型变量交换函数