out 传值(传址)
传值,只将这个变量的值给拿走,不返还,除非return赋值。
将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的a
传址,将这个变量的值拿走运算,完成后还是得返还回来(不用return,用out)
将a的值传入函数,函数中这个值如何变化,main中的a也会跟着变化
相当于:函数中的这个值,是main种这个a的快捷方式
求解一元二次方程的根,利用out传值返回x1和x2两个值
public void Fangcheng(double a, double b, double c, out double x1, out double x2)
{
double de = b * b - * a * c;
if (de > )
{
Console.WriteLine("此方程有两个不相同的实数根!");
x1 = (-b + Math.Sqrt(de)) / (a * );
x2 = (-b - Math.Sqrt(de)) / (a * );
}
else//de==0
{
Console.WriteLine("此方程有两个相同的实数根!");
x1 = (-b + Math.Sqrt(de)) / (a * );
x2 = x1;
}
static void Main(string[] args)
{
double x1;
double x2;
Console.WriteLine("求解一元二次方程ax^2+bx+c=0的根的情况及结果:");
Console.Write("请输入a=");
double a = double.Parse(Console.ReadLine());
if (a == )
{
Console.WriteLine("此方程不是一元二次方程!");
}
else
{
Console.Write("请输入b=");
double b = double.Parse(Console.ReadLine());
Console.Write("请输入c=");
double c = double.Parse(Console.ReadLine()); double de = b * b - * a * c;
if (de < )
{
Console.WriteLine("此方程没有实数根!");
}
else//de>=0
{
Program pp = new Program();
pp.Fangcheng(a, b, c, out x1, out x2); if (x1 == x2)
{
Console.WriteLine("x1=x2=" + x1);
}
else
{
Console.WriteLine("x1=" + x1);
Console.WriteLine("x2=" + x2);
}
}
} Console.ReadLine();
}
猜拳游戏:与电脑进行猜拳游戏,输入剪刀,石头,布。
public void caiquan()
{
Console.Write("请出拳:");
string x = Console.ReadLine();
int x1;
if (x == "剪刀" || x == "石头" || x == "布")
{
switch (x)
{
case "剪刀":
x1 = ;
break;
case "布":
x1 = ;
break;
default:
x1 = ;
break;
}
Random ran = new Random();
int a = ran.Next();
string m;
switch (a)
{
case :
m = "剪刀";
break;
case :
m = "布";
break;
default:
m = "石头";
break;
}
Console.WriteLine(m); if ((x1 - a == -) || (x1 - a == ))
{
Console.WriteLine("你赢了!");
}
else if ((x1 - a == ) || (x1 - a == -))
{
Console.WriteLine( "你输了");
}
else
{
Console.WriteLine( "平局!");
} }
else
{
Console.WriteLine( "你的输入有误!");
}
}
static void Main(string[] args)
{
Program p = new Program();
p.caiquan();
Console.ReadLine();
}
out 传值(传址)的更多相关文章
- JS 传值 传址
在JS中,有两种不同的方式可以操作数据的值,这两种技术分别叫做 传值 和 传址. 传值:在赋值过程中,首先对值进行了一份拷贝,而后将这份拷贝存储到一个变量.对象属性或数组元素中.拷贝的值和原始的值是完 ...
- Python 函数参数引用(传值/传址)/copy/deepcopy
精简版: 传值:被调函数局部变量改变不会影响主调函数局部变量 传址:被调函数局部变量改变会影响主调函数局部变量 Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组 ...
- 3.15课·········out传值(传址)
public void Hs(out int a, out int b) { a = 4; b = 6; a = b++;//a=6,b=b+1=7//b先赋值给a,然后b+1 b = ++a;//a ...
- Java传值和传址
调用函数时,传的参数过去可能是传值,也可能是传址.如果是传值,函数内部的操作对参数的值没有影响:如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值. Java到底是传值还是传址?用下 ...
- js 的复制和引用 (传值和传址)
复制(传值-实参): 基本类型赋值.函数参数 引用(传址-形参): 对象.数组.函数
- C语言的传值与传址调用
传值调用并不能改变两个变量的值,而传址能. 为什么,因为,传值调用,仅仅是在函数内,调换参数的值. 而地址所指向的值,改变的不仅仅是函数内,函数外也改变. 请看代码: 这里还要注意:通常我们不会返回局 ...
- javascript的变量,传值和传址,参数之间关系
先把收获晾一下: 1.javascrip变量包含两种类型的值,一种为引用类型的值,一种是基本类型的值.引用类型包括:Array,Object,Function(可以这么理解,非基本类型的都是引用类型) ...
- JavaScript 函数参数是传值(byVal)还是传址(byRef)?
对于“JavaScript 函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Number, String, Object ...
- Js 赋值传值和引用传址
赋值传值和引用传址 在JavaScript中基本数据类型都是赋值传值,复合数据类型都是引用传址(传地址) 基本数据类型的变量名和数据是直接存在"快速内存"(栈内存)中,而复合数据类 ...
- Python的传值和传址与copy和deepcopy
1.传值和传址 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针).他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变,用传值传入的参数是不会 ...
随机推荐
- Nginx的快速安装
1. 准备工作 1. CenterOS7.x.vmware虚拟机,安装过程参考 https://jingyan.baidu.com/article/eae0782787b4c01fec548535.h ...
- tensorflow源码分析
前言: 一般来说,如果安装tensorflow主要目的是为了调试些小程序的话,只要下载相应的包,然后,直接使用pip install tensorflow即可. 但有时我们需要将Tensorflow的 ...
- Vivado添加sublime text编辑器
我们当用vivado会发现文本编辑器有点鸡肋,没有自动的缩进的功能,所以我想用sublime来进行文本的编辑,下面就是绑定的一些方法(但是呢其实吧,虽然可以绑定却不能实时的报错,,,我感觉我还是老老实 ...
- Java语言基础(5)
1 if-else语句(二) 案例:Demo1~Demo4 import java.util.Scanner; public class Demo1 { //在main方法中,从控制台输入任意的一个整 ...
- 【转载】Stanford CoreNLP Typed Dependencies
总结自Stanford typed dependencies manual 原文链接:http://www.jianshu.com/p/5c461cf096c4 依存关系描述句子中词与词之间的各种语法 ...
- 【转】Java的四种代码块
原贴地址:http://www.cnblogs.com/end/archive/2012/12/21/2827554.html 一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下 ...
- 多对多第三张表的创建方式 和 forms组件的使用
目录 一.多对多第三张表的创建 1. 全自动方式 (1)实现代码 (2)优点和不足 2. 纯手撸方式(了解) (1)实现代码 (2)优点和不足 3. 半自动方式(推荐使用) (1)实现代码 (2)优点 ...
- jquery $(".classc",$(".classp"))的含义
jquery中有一种选择器的写法为:$(".classc",$(".classp")),注意,是$()中又嵌套了一个$(),这种写法的作用类似于$(" ...
- Robot Framework xpath定位不到元素
不要使用Click Button关键字-严格来说,该关键字适用于该<button>类型的html元素. 而是使用Click Element-您的目标元素是<a>,然后Click ...
- k8s配置文件模板
一,deployment Deployment为Pod和Replica Set下一代Replication Controller)提供声明式更新 1,配置示例 apiVersion: apps/v1 ...