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.传值和传址 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针).他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变,用传值传入的参数是不会 ...
随机推荐
- WebAPI跨域问题处理
1.按照https://dzone.com/articles/access-control-allow-origin-header-and-the-aspnet文章所述,在程序中配置允许跨域请求. 但 ...
- Woobuntu
Wooyun + Ubuntu = Woobuntu Woobuntu是基于Ubuntu系统的一款安全研究环境配置工具,可以自动安装并配置众多的安全工具与依赖环境,此外还针对中国用户的习惯进行了一些优 ...
- init container
init container与应用容器在本质上是一样的, 但它们是仅运行一次就结束的任务, 并且必须在成功执行完成后, 系统才能继续执行下一个容器, 可以用在例如应用容器启动前做一些初始化工作,当in ...
- C语言结构体初始化的四种方法
定义 struct InitMember{ int first: double second: char* third: float four;}; 方法一:定义时赋值 str ...
- py实现ftp
https://www.cnblogs.com/wangziyi0513/p/11077323.html 参考原始代码: 修改了一下: 许多网友问中文路径乱码怎么办,我觉得应该讲中文路径转码后再发送. ...
- LOJ-6283-数列分块7
链接: https://loj.ac/problem/6283 题意: 给出一个长为 的数列,以及 个操作,操作涉及区间乘法,区间加法,单点询问. 思路: 考虑整块的乘法, 同时对整块的add标记也要 ...
- 前端接受base64的excel,点击立即下载
由于使用框架的特殊性,后台返回的文件流进行了base64加密,所以返回的是base64格式,所以需要将其转变为blob,上代码
- vuex , 简单入(liao)门(jie)
vuex什么 ? 官方的说法就是 vuex是专门为vue.js应用程序开发的 状态管理模式 .并采用集中式存储 , 管理应用的所有组件的状态 ,并以相同的规则保证状态以一种可预估的方式发生变化. 自己 ...
- jquery disabled选择器 语法
jquery disabled选择器 语法 作用:disabled 选择器选取所有禁用的表单元素.大理石平台价格表 语法:$(":disabled") jquery disable ...
- 洛谷 P1546 最短网络 Agri-Net x
题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...