《C语言及程序设计》程序阅读——参数传递方式:传值与传地址
返回:贺老师课程教学链接
请分析下面程序的输出结果,对照在计算机上的运行结果,解释得到输出的过程。
建议:通过在纸上画出内存变化的过程,洞悉计算机执行的过程。
(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语言及程序设计》程序阅读——参数传递方式:传值与传地址相关推荐
- C语言:函数中参数的传值与传地址
任务代码: #include <stdio.h> void swap(int *a ,int *b)//按之前对指针认识,*a代表指针变量a,a存储的是地址,*a是地址的值. { //但是 ...
- C语言 —— 整型(int)类型数据,做函数的参数,传值与传地址
整型数据的做函数参数注意事项: 如只是使用该数据,则把改值直接传递给函数,直接做函数的参数即可: 若需要在函数中对该数据进行更改,则需要把改值的地址当做函数的参数,进行传递. #include < ...
- C++中的参数传递方式:传值、传地址、传引用总结
指针:指针是一个变量,只不过这个变量中存储的是一个地址,指向内存中的一个单元. 引用:引用和原变量是同一个东西,只不过是原变量的一个别名. int a = 10; 定义一个整型变量aint *p = ...
- vba传值调用_小白关于VBA调用Sub传递参数之传值与传址的思考
故事一: 从前,森林里有三个小房子,一个红房子,一个黄房子,一个蓝房子. 红房子里面放了一个苹果,黄房子里面放了两个苹果,蓝房子里面放了三个苹果. 有一天,外面来了三个小精灵,一个叫红精灵,一个叫黄精 ...
- 《C++语言基础》程序阅读——字符串类的设计
返回:贺老师课程教学链接 阅读下面的程序,领会其中用到的设计方案.技术手段与算法. /* 对于要定义的字符串类CMyString, 数据成员包括: - 字符串的长度: - 指向字符串第一个字符的指针 ...
- 《C++语言基础》程序阅读——和对象找感觉
返回:贺老师课程教学链接 按照封装与信息隐藏的原则,除非特别需要,类中的数据成员需要设置为私有.由此带来的问题是,在类外如何访问这些私有成员?下面4段程序概括了常用的方法.请仔细阅读下面的程序,在阅读 ...
- Go 学习笔记(65)— Go 中函数参数是传值还是传引用
Go 语言中,函数参数传递采用是值传递的方式.所谓"值传递",就是将实际参数在内存中的表示逐位拷贝到形式参数中.对于像整型.数组.结构体这类类型,它们的内存表示就是它们自身的数据内 ...
- C语言及程序设计 套餐 课程主页
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 课程链接 ...
- C语言及程序设计(公开课)主页
本课程由烟台大学计算机学院贺利坚老师建设. 本主页提供各节课程中的源码,以及配套的实践. 程序设计的学习,必须要通过实践,才能够得到真正的思维训练,获得解决问题的能力. 第1章 引言及体验 1.1 人 ...
- 视频教程-C语言及程序设计提高视频精讲-C/C++
C语言及程序设计提高视频精讲 烟台大学计算机学院教师,二十年余教师生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景.和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,让大一的孩子会编程,为迷 ...
最新文章
- html更改灰色按钮可用,点击提交按钮后按钮变灰色不可用状态的三种方法
- 【Python】调用百度云API人脸检测 Face Detect
- matlab中find函数_在R中使用Matlab函数
- 讲字节数组转化为base64_Base64编码简介及简单实现
- 【渝粤教育】 国家开放大学2020年春季 1373特殊教育概论 参考试题
- Linux学习笔记017---文件解压命令的使用_压缩解压
- 单片机蜂鸣器编程音乐_单片机系统硬件调试方法
- vscode-JS代码段(JavaScript Snippet Pack)
- xcode9 IphoneX 调试
- Linux resolv.conf 简介
- java期刊影响因子_[转]计算机类中文核心期刊影响因子
- JAVA相关编译知识
- Python网络与并发编程 02 TCP粘包
- HTTP状态码:400\500 错误代码(个人总结)
- 创成汇:科技与艺术概念结合在手机上,效果居然这么强?_创成汇
- 常用DC-DC;AC-DC电源芯片
- Spring Security使用(三) 安全框架内使用QQ登录以及不加安全框架使用QQ登录
- Java 虚拟键盘
- 你想要的Flexsim学习途径这里都有
- java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法