//传值,只将这个变量的值拿走,不返还,除非return赋值
//将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的值 //传址,这个变量的值拿走运算,完成后还是得返还回来(不用return,用out) //将a的值传入函数,函数中这个值如何变化,main中的这个值也会跟着变化 //out传值(传址)
案例:
public void gen(int a, int b, int c, out double x1, out double x2)//ax*x+b*x+c=0
{ int de = b * b - 4 * a * c; x1 = 0; x2 = 0; if (a != 0) { if (de < 0) { Console.WriteLine("de<0,此方程无实根"); } else if (de > 0) { x1 = (-b + Math.Sqrt(de)) / 2 * a; x2 = (-b - Math.Sqrt(de)) / 2 * a; Console.WriteLine("方程有两个不同的实数根:x1=" + x1 + ",x2=" + x2); } else//de==0 { x1 = x2 = (-b + Math.Sqrt(de)) / 2 * a; Console.WriteLine("方程有两个相等的实根:x1=x2=" + x1); }}
else { Console.WriteLine("a=0,此方程不是一元二次方程!"); }}