temp

6. 交换函数

一个人想着一个人 提交于 2020-02-13 12:42:57
题目: 解释为什么下面程序的交换函数没有把形参 x 和 y 所对应的实参的值交换。如何修改代码,使实参的值得到交换? 原交换程序: 1 void swap(int x, int y) { 2   int temp = x; 3   x = y; 4   y = temp; 5 } 思路: 在C++中,参数传递方式有三种,分别为传值,传地址,传引用。在以上程序中,是按照传值的方式进行的。在实参传入时,将副本给形参。(如果是内置数据类型,则进行复制;如果是用户自定义数据类型,则调用复制构造函数)。传值不会改变实参,想要改变实参,则应该传指针或引用。这里我选择传引用。 修改后的程序: 1 template <typename T> 2 void new_swap(T& a, T& b) { 3 T temp = a; 4 a = b; 5 b = temp; 6 } 在上面修改后的程序里,有几个地方需要解释。 第一,返回值为 void,因为进行交换不需要返回值。 第二,temp 的类型为 T,而不是 T&,因为 a 是一个 T 类型的,并且 a 是一个引用,所以 temp 也为 T 类型。 代码: 1 #include <iostream> 2 using namespace std; 3 4 template <typename T> 5 void new_swap(T& a, T&

安装软件出现Command line option syntax error. Type Command /? for Help.的解决方法

旧时模样 提交于 2020-02-12 04:46:07
问题描述 今天在安装HUAWEI VPN Client的时候出现了一个很有意思的报错,如下图。 Command line option syntax error. Type Command /? for Help. 图片来源:同事的照片,出现了同样问题 解决思路 参考百度经验 https://jingyan.baidu.com/article/2d5afd69cea6b085a2e28e9f.html Command line option syntax error. Type Command /? for Help. 这句话的意思是说命令行选项语法错误错误,其实在我实际搜索这个问题的时候在百度得到一些开发者的解释: If the non unicode language is set in the operating system to a language such as Japanese then the win32 cabinet extractor can’t handle the unicode characters in the username and will fail. 意思是说如果非unicode语言被设定操作系统语言,比如日语,用户名中如果win32处理器不能处理unicode字符,就会失败。 上面的意思其实就是安装路径不能含有中文和无法识别的字符

第三章流程控制语句

∥☆過路亽.° 提交于 2020-02-11 06:36:15
代数,解一元二次方程 使用代码写出一元二次方程的两个解,提示用户输入a b c的值,用方程判别式b^2-4ac,如果它是正值,该方程就有两个实数根,如果它为零显示一个根,如果他是负数,方程式无实数根。 import java . util . Scanner ; //从文件夹提取Scanner class Equ { public static void main ( String [ ] args ) { Scanner input = new Scanner ( System . in ) ; System . out . print ( "输入a b c的值:" ) ; //提示用户输入a b c的值 double a = input . nextDouble ( ) ; double b = input . nextDouble ( ) ; double c = input . nextDouble ( ) ; double r1 = ( - b + Math . pow ( ( b * b - 4 * a * c ) , 0.5 ) ) / 2 * a ; //第一个根的计算公式 double r2 = ( - b - Math . pow ( ( b * b - 4 * a * c ) , 0.5 ) ) / 2 * a ; //第二个根的计算公式 if ( b * b

经典JS的HTML转义与反转义字符

北战南征 提交于 2020-02-10 02:10:14
//HTML转义 function HTMLEncode(html) { var temp = document.createElement ("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return output; } //HTML反转义 function HTMLDecode(text) { var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; } 转载自:http://www.stepday.com/topic/?566 来源: https://www.cnblogs.com/huangsheng/p/3656981.html

线性数据结构案例4 —— 合并两个有序的单链表 合并之后依然有序

我与影子孤独终老i 提交于 2020-02-10 01:38:04
一、介绍 emsp; 我们定义一个新链表然后,将两个链表的元素依次比较,放入比较最小的放到新链表前面。 二、代码 public static Node mergeByOrder(Node l1, Node l2) { if(l1.next == null || l2.next == null) { return l1.next == null ? l2 : l1; } Node newLinkedHead = new Node(0, ""); l1 = l1.next; // 头节点没有数据我们不要 l2 = l2.next; // 头节点没有数据我们不要 Node temp = newLinkedHead; while (l1 != null && l2 != null) { if (l1.no <= l2.no) { temp.next = l1; temp = temp.next; l1 = l1.next; } else { temp.next = l2; temp = temp.next; l2 = l2.next; } } if (l1 == null) { temp.next= l2; // 连接剩余节点 } if (l2 == null) { temp.next= l1; // 连接剩余节点 } return newLinkedHead; } } 来源: https

如何创建虚拟软驱?

女生的网名这么多〃 提交于 2020-02-09 04:14:29
1.subst.exe焕发青春 subst.exe是一个不太常用的DOS命令,它的位置隐藏在\Windows\Command\下(针对Windows 9X/Me系统),如果是Windows 2000/XP,则应该隐藏在\Windows\System32\下,前者的大小为17.6KB,后者的大小更小一些,才9.0KB而已。 subst.exe的完整名称是“给目录赋驱动器符命令”,它的功能是以磁盘驱动器号代替路径名称,以使驱动器号与指定的子目录路径关联,其命令格式很简单: subst.exe [Driver1: [Driver2:] Path] 其中的“Driver1”是指定指派路径的虚拟驱动器盘符,“Driver2 Path”则是指定物理驱动器和要指派给虚拟驱动器的路径。 2.利用subst.exe虚拟软驱 例如,在安装瑞星杀毒软件前,你可以先通过其他方式(例如局域网、邮件、共享文件)将A盘的所有文件复制到本机的一个文件夹中,例如D:\temp下。然后在命令提示符窗口下键入如下命令“subst A: D:\temp”,如图1所示,朋友们可以看一看这里用“dir A:”命令后的文件列表,就知道一张软盘中是绝不可能放入如此之多的东东的。这样,我们就可以按照这种方法将D:\temp文件夹虚拟成A盘,瑞星杀毒软件的安装就可以顺利完成了。 当我们虚拟软驱后

十六进制转八进制(进制关系)

淺唱寂寞╮ 提交于 2020-02-09 01:10:43
Description 给定n个十六进制正整数,输出它们对应的八进制数。 Input 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 Output 输出n行,每行为输入对应的八进制正整数。 Sample Input 2 39 123ABC Sample Output 71 4435274 注意 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。 提示 先将十六进制数转换成某进制数,再由某进制数转换成八进制。 解题思路: 首先先讲一些相关知识点 二进制转十六进制 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。 从右到左 4位一切,例如 100111110110101,左边不满4位的可以用0补满 0100,1111,1011,01012,所以前面的二进制转为十六进制为 4FB5。 同理 二进制转八进制 ,是以3位一段,分别转换成八进制。 十六进制转换成二进制 反过来,当看到 FD时,迅速将它转换为二进制数方法 先转换F: 看到F,需知道它是15,然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。 接着转换 D: 看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4

buuctf 极客大挑战 finalsql

断了今生、忘了曾经 提交于 2020-02-08 09:35:31
说来话长,这边记录下,页面不一样了,之前的注入全部行不通,考虑到最烦最难得盲注,利用二分法查找是非常快的 这边记下playload 查库名: id=1^(ascii(substr((select(database())),1,1))>1)^1 库名为geek 查表名: id=1^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=%27geek%27)),1,1))>1)^1 表名为F1naI1y 查列名,还是得写脚本, 1^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='F1naI1y')),1,1))>1)^1 import requests import time url = "http://acd0b80d-cfac-4ed8-aab6-7c6f64ee9fa2.node3.buuoj.cn/search.php?id=" temp = {"id" : ""} column = "" for i in range(1,1000): time.sleep(0.06) low = 32

android sdk离线安装

跟風遠走 提交于 2020-02-07 23:40:10
一、下载eclipse和默认的sdk 下载网址如下: http://developer.android.com/sdk/index.html (打不开?哈哈哈,翻墙吧……) 如果有遇到翻墙也下不下来的,那只有靠我啦,哈哈哈,目前的最新版,我传到了百度网盘上,地址: http://pan.baidu.com/s/1eQ8CVQi 下载下来后,解压到任意位置,解压后的目录结构如图: 可以看到,这个sdk是自带eclipse的,好省心啊有木有…… 二、该死的andriod SDK安装 在线安装什么误人子弟的法子,哥就不教了,害死人啊有木有,都要吐血了还装不上…… 我把离线压缩包放在了百度云盘上,大家去下,地址: http://pan.baidu.com/s/1sjuJwYD (各个压缩包下下来之后,千万不要解压哦,这里有个注意事项) 注意: 云盘里有个压缩包:名字叫“解压这个文件,并放到temp文件夹下” 将其解压到temp文件夹下,因为原来这个文件上传到云盘的时候,云盘不认识这个格式,不让传,我只能打成压缩包了,原来的结构如下: 这里包含了platform 20及以下的所有东东。 在sdk文件夹下新建一个文件夹命名为temp;如图: 将所有可压缩包放到temp文件夹下: 运行SDK Manager.exe 在SDK Manager初始化的时候会联网获取所有的sdk及工具列表

B1028. 人口普查

我的未来我决定 提交于 2020-02-07 22:01:18
基本思路 定义一个结构体person,persion的属性是姓名和生日 生日用年、月、日来表示 合法性判断(左右边界判断),先检查年,再检查月,最后检查日 #include <bits/stdc++.h> using namespace std; struct Person { char name[10]; int yy, mm, dd; }youngest, oldest, left_p, right_p, temp; void init() { youngest.yy = left_p.yy = 1814; youngest.mm = left_p.mm = 9; youngest.dd = left_p.dd = 6; oldest.yy = right_p.yy = 2014; oldest.mm = right_p.mm = 9; oldest.dd = right_p.dd = 6; } bool younger(Person person, Person target) { if (person.yy != target.yy) { return person.yy < target.yy; } if (person.mm != person.mm) { return person.mm < target.mm; } if (person.dd != person