`

经典指针程序_互换两个数字

阅读更多
# include <stdio.h>
   
void Fairyd_1(int , int );    //定义函数Fairyd_1,形参可以不注明变量,直接定义类型即可。
void Fairyd_2(int *, int *);  //定义函数Fiaryd_2,该函数形参的变量为整型指针。
void Fairyd_3(int *, int *);  //定义函数Fiaryd_3,该函数形参的变量为整型指针。
   
int main(void) {
   int a = 3;
   int b = 5;
   
   Fairyd_1(a, b);
   printf("a = %d, b = %d\n", a, b);
   
   Fairyd_2(&a, &b);  //取a和b的变量地址,要加上&(取地址符)符号。
   printf("a = %d, b = %d\n", a, b);
   
   Fairyd_3(&a, &b);
   printf("a = %d, b = %d\n", a, b);
   system("pause");
   return 0;
}
   
void Fairyd_1(int a, int b){
   int t;
   t = a;
   a = b;
   b = t;
}//定义函数Fairyd_1,不能完成互换功能。因为局部变量只能在本函数内有效。
   
void Fairyd_2(int * p, int * q){
   int * t;//将t也定义为int *类型,这样才能与p和q类型一致。
   t = p;
   p = q;
   q = t;
}
   
void Fairyd_3(int * p, int * q){
   int t;//将t定义为int类型,这样与*p和*q才是同一类型。
   t = *p; //*p代表指针p指向的对象。
   *p = *q;
   *q = t;
}//定义函数Fairyd_3,用指针互换可以完成互换功能。

运行结果:


PS:唠叨一句,今天装上很早之前下载的VC6企业版,才发现这工具着实老太多了,不知道是我下载的版本不对还是真的就那么回事,居然代码格式化都木有!!
  • 大小: 4.6 KB
分享到:
评论

相关推荐

    c程序设计习题参考(谭浩强三版)习题参考解答

    8.7写一函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字之间有一个空格。如输入1990,应输出”1 9 9 0”。 52 8.8编写一函数,有实参传来一个字符串,统计此字符串中字母,数字,空格和其它字符的个数...

    C程序范例宝典(基础代码详解)

    实例038 不用strcat连接两个字符串 46 实例039 删除字符串中连续字符 47 实例040 字符升序排列 49 实例041 在指定的位置后插入字符串 50 1.7 函数 51 实例042 求字符串中字符的个数 51 实例043 递归...

    你必须知道的495个C语言问题

    6.4 既然它们这么不同,那为什么作为函数形参的数组和指针声明可以互换呢? 数组不能被赋值 6.5 为什么不能这样向数组赋值?externchar*getpass();charstr[10];str=getpass("Enterpassword:"); 6.6 既然不能向...

    《你必须知道的495个C语言问题》

    书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 《你必须知道的495个C语言问题》结构...

    API之网络函数---整理网络函数及功能

    CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 CreateFileMapping 创建一个新的文件映射对象 ...

    汇编语言程序设计.林邦杰.陈明

    6-4 比较两个整数 6-5 无条件转移指令JMP 6-6 循环指令LOOP 6-7 选择结构 6-8 循环结构 课后习题 第7章 算术运算 7-1 定点数与浮点数 7-2 带符号及无符号整数 7-3 加法及减法 7-4 乘法 7-5 除法 7-6 BCD十进制数运算...

    C语言FAQ 常见问题列表

    o 4.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated_expression; * 5. 指针 o 5.1 我想声明一个指针并为它分配一些空间, 但却...

    c语言经典案例

    实例173 使用指针连接两个字符串 245 实例174 用指针实现逆序存放数 组元素值 247 实例175 用指针数组构造字符串数组 248 实例176 用指针函数输出学生成绩 249 实例177 寻找相同元素的指针 251 实例178 查找成绩不...

    你必须知道的495个C语言问题.pdf

    书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。  本书结构清晰,讲解透彻,是各高校...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    将两个值排序 297 scanf函数和指针 298 指针的类型 299 空指针 300 标量型 301 10-3 指针和数组 302 指针和数组 302 指针运算符和下标运算符 304 数组和指针的不同点 306 数组的传递 308 总结 311 第11章...

    你必须知道的495个C语言问题(PDF)

    3.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一 个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated expression; . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 目录iii ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    Java范例开发大全 (源程序)

     实例1 开发第一个Java程序 7  第2章 Java基础类型与运算符(教学视频:39分钟) 9  2.1 基础类型 9  实例2 自动提升 9  实例3 自动转换 10  实例4 常用基础类型之强制转换 11  2.2 运算符 12  实例5...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...

    Java范例开发大全(全书源程序)

    实例256 带两个类型参数的泛型 513 实例257 有界类型程序示例 514 实例258 通配符使用示例 515 实例259 泛型方法使用示例 516 实例260 泛型接口示例 518 实例261 泛型实现坐标打印 519 14.2 泛型类的继承 521...

Global site tag (gtag.js) - Google Analytics