交换两个值函数swap()实现小结
2016-05-13 21:16
429 查看
</pre><pre class="cpp" style="font-size: 18px;" name="code">
</pre><pre class="cpp" style="font-size: 18px;" name="code">#include <stdio.h> #include <stdlib.h> void swap(int *a , int *b); void swap1(int *a , int *b); void swap(int *a , int *b) { int *temp = NULL; temp =(int *)malloc(sizeof(int)); //申请了一块交换中介空间 *temp = *a; //交换了指针所指向的空间的内容,所以改变了 //实参的值 *a = *b; *b = *temp; printf(" %d, %d\n",*a , *b); } void swap1(int *a , int * b) { int temp = 0; //只是简单的交换了指针的指向 //,并为交换所指向的空间内容 temp = a; //并未改变实参的数值 a= b; b = temp; } int main (int aegc, char ** argv) { int a1 = 0; int b1 = 0; printf("请输入a:"); scanf("%d",&a1); printf("请输入b:"); scanf("%d",&b1); swap(&a1 ,&b1); printf("a= %d ,b= %d",a1, b1); return 0; }
#include <stdio.h>
#include <stdlib.h>
void swap(int *a , int *b);
void swap1(int *a , int *b);
void swap(int *a , int *b)
{
int *temp = NULL;
temp =(int *)malloc(sizeof(int)); //申请了一块交换中介空间
*temp = *a; //交换了指针所指向的空间的内容,所以改变了
//实参的值
*a = *b;
*b = *temp;
printf(" %d, %d\n",*a , *b);
}
void swap1(int *a , int * b)
{
int temp = 0; //只是简单的交换了指针的指向
//,并为交换所指向的空间内容
temp = a; //并未改变实参的数值
a= b;
b = temp;
}
int main (int aegc, char ** argv)
{
int a1 = 0;
int b1 = 0;
printf("请输入a:");
scanf("%d",&a1);
printf("请输入b:");
scanf("%d",&b1);
swap(&a1 ,&b1);
printf("a= %d ,b= %d",a1, b1);
return 0;
}
小结:
在c语言中,传参有:传值、传指针
其中传值
相关文章推荐
- Spring_Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别
- dx学习日记
- myeclipse的一个错误
- Docker容器的跨主机连接
- 例4.10 POJ3525/LA3890离海最远的点 半平面交 + 二分法 + double小数点后有效位数处理方式/printf与g++、c++的问题
- 2013年第四届蓝桥杯C/C++程序设计本科B组决赛
- java中将byte转化为字母
- poj 2349 Arctic Network(最小生成树变形)
- (OK) Fedora23—NS3—Docker—MANETs—Testing
- Spark学习笔记:Pregel API
- json文件的json.parse(data)方法时候碰到的问题
- 链表的应用
- Qt窗口全部显示
- 两点小结
- 典型用户和用户场景描述
- php后期静态绑定
- 更新二进制位
- 【数据结构】栈和队列
- matlab文件IO(读取写入)1 高级例程
- Codeforces Round #352 (Div. 2)