返回:贺老师课程教学链接

请分析下面程序的输出结果,对照在计算机上的运行结果,解释得到输出的过程。

建议:通过在纸上画出内存变化的过程,洞悉计算机执行的过程。
(1)

#include<stdio.h>
void fun(int x,int y,int *z)
{*z=x*x+y*y;
}
int main()
{int a=31;fun(5,2, &a);printf("%d\n",a);return 0;
}

(2)

#include<stdio.h>
void fun(int *a, int *b, int *c)
{int *temp;temp=a;a=b;b=temp;*temp=*b;*b=*c;*c=*temp;
}
int main()
{int a,b,c,*p1,*p2,*p3;a=5;b=7;c=3;p1=&a;p2=&b;p3=&c;fun(p1,p2,p3);printf("%d,%d,%d\n",a,b,c);return 0;
}

(3)

#include<stdio.h>
void exchange(int *,int *,int *);
void myswap(int *,int *);
int main( )
{int a,b,c;scanf("%d %d %d", &a, &b, &c);exchange(&a,&b,&c);   //另一种调用方法printf("%d %d %d\n", a, b, c);return 0;
}
void exchange(int *q1,int *q2,int *q3)
{if(*q1<*q2) myswap(q1,q2);if(*q1<*q3) myswap(q1,q3);if(*q2<*q3) myswap(q2,q3);
}
void myswap(int *pt1, int *pt2)
{int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;
}

《C语言及程序设计》程序阅读——参数传递方式:传值与传地址相关推荐

  1. C语言:函数中参数的传值与传地址

    任务代码: #include <stdio.h> void swap(int *a ,int *b)//按之前对指针认识,*a代表指针变量a,a存储的是地址,*a是地址的值. { //但是 ...

  2. C语言 —— 整型(int)类型数据,做函数的参数,传值与传地址

    整型数据的做函数参数注意事项: 如只是使用该数据,则把改值直接传递给函数,直接做函数的参数即可: 若需要在函数中对该数据进行更改,则需要把改值的地址当做函数的参数,进行传递. #include < ...

  3. C++中的参数传递方式:传值、传地址、传引用总结

    指针:指针是一个变量,只不过这个变量中存储的是一个地址,指向内存中的一个单元. 引用:引用和原变量是同一个东西,只不过是原变量的一个别名. int a = 10; 定义一个整型变量aint *p = ...

  4. vba传值调用_小白关于VBA调用Sub传递参数之传值与传址的思考

    故事一: 从前,森林里有三个小房子,一个红房子,一个黄房子,一个蓝房子. 红房子里面放了一个苹果,黄房子里面放了两个苹果,蓝房子里面放了三个苹果. 有一天,外面来了三个小精灵,一个叫红精灵,一个叫黄精 ...

  5. 《C++语言基础》程序阅读——字符串类的设计

    返回:贺老师课程教学链接 阅读下面的程序,领会其中用到的设计方案.技术手段与算法. /* 对于要定义的字符串类CMyString, 数据成员包括: - 字符串的长度: - 指向字符串第一个字符的指针 ...

  6. 《C++语言基础》程序阅读——和对象找感觉

    返回:贺老师课程教学链接 按照封装与信息隐藏的原则,除非特别需要,类中的数据成员需要设置为私有.由此带来的问题是,在类外如何访问这些私有成员?下面4段程序概括了常用的方法.请仔细阅读下面的程序,在阅读 ...

  7. Go 学习笔记(65)— Go 中函数参数是传值还是传引用

    Go 语言中,函数参数传递采用是值传递的方式.所谓"值传递",就是将实际参数在内存中的表示逐位拷贝到形式参数中.对于像整型.数组.结构体这类类型,它们的内存表示就是它们自身的数据内 ...

  8. C语言及程序设计 套餐 课程主页

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 课程链接 ...

  9. C语言及程序设计(公开课)主页

    本课程由烟台大学计算机学院贺利坚老师建设. 本主页提供各节课程中的源码,以及配套的实践. 程序设计的学习,必须要通过实践,才能够得到真正的思维训练,获得解决问题的能力. 第1章 引言及体验 1.1 人 ...

  10. 视频教程-C语言及程序设计提高视频精讲-C/C++

    C语言及程序设计提高视频精讲 烟台大学计算机学院教师,二十年余教师生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景.和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,让大一的孩子会编程,为迷 ...

最新文章

  1. html更改灰色按钮可用,点击提交按钮后按钮变灰色不可用状态的三种方法
  2. 【Python】调用百度云API人脸检测 Face Detect
  3. matlab中find函数_在R中使用Matlab函数
  4. 讲字节数组转化为base64_Base64编码简介及简单实现
  5. 【渝粤教育】 国家开放大学2020年春季 1373特殊教育概论 参考试题
  6. Linux学习笔记017---文件解压命令的使用_压缩解压
  7. 单片机蜂鸣器编程音乐_单片机系统硬件调试方法
  8. vscode-JS代码段(JavaScript Snippet Pack)
  9. xcode9 IphoneX 调试
  10. Linux resolv.conf 简介
  11. java期刊影响因子_[转]计算机类中文核心期刊影响因子
  12. JAVA相关编译知识
  13. Python网络与并发编程 02 TCP粘包
  14. HTTP状态码:400\500 错误代码(个人总结)
  15. 创成汇:科技与艺术概念结合在手机上,效果居然这么强?_创成汇
  16. 常用DC-DC;AC-DC电源芯片
  17. Spring Security使用(三) 安全框架内使用QQ登录以及不加安全框架使用QQ登录
  18. Java 虚拟键盘
  19. 你想要的Flexsim学习途径这里都有
  20. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

热门文章

  1. 10074 启用开发者模式 for vs2015rc
  2. C#项目实例中读取并修改App.config文件
  3. 使用javascript 实现.net 验证控件功能
  4. 获取邮箱的DNS和MX 工具类
  5. oracle第三天笔记
  6. linux下安装jdk,tomcat,maven
  7. 百度编辑器复制微信图片无法保存
  8. Profiler中WaitForTargetFPS详解【转】
  9. JavaAPI之Runtime类以及bat文件开启应用程序
  10. 【Xamarin 跨平台机制原理剖析】