zoukankan      html  css  js  c++  java
  • 3月15日 传址

    传值,只将这个变量的值拿走,不返还,除非return赋值。将a中的值传入函数,无论这个值在函数中如何变化,不会影响main中的值。

    传址,将这个变量的值拿走运算,完成后还是要返还回来(不用return用out),将a的值传入函数,函数中这个值如何变化,main中的a也会跟着变化。

    相当于:函数中的这个值,是main中a的快捷方式。

    例:求解一元二次方程ax^2+bx+c=0的根的情况及结果:

     public void Fangcheng(double a,double b,double c,out double x1,out double x2) 
            {
                double de = b * b - 4 * a * c;
                if (de > 0)
                {
                    Console.WriteLine("此方程有两个不相同的实数根");
                     x1 = -b + Math.Sqrt(de) / (2 * a);
                     x2 = -b - Math.Sqrt(de) / (2 * a);
                }
                else 
                {
                    Console.WriteLine("有两个相同的实数根" );
                     x1 = -b + Math.Sqrt(de) / 2 * a;
                     x2 = x1;
                }
            }
     static void Main(string[] args)
            {
     //一元二次方程,传出x1,x2
                double x1;
                double x2;
                Console.WriteLine("求解二元一次方程ax^2+b*x+c=0根的情况及结果");
                Console.Write("请输入a=");
                double a = double.Parse(Console.ReadLine());
                Console.Write("请输入b=");
                double b =double.Parse(Console.ReadLine()); 
                Console.Write("请输入c=");
                double c = double.Parse(Console.ReadLine());        
                double de = b * b - 4 * a * c;
                if (a == 0)
                {
                    Console.WriteLine("这个方程不是一元二次方程");
                }
                else
                {
                    if (de < 0)
                    {
                        Console.WriteLine("没有实数根");
                    }
                    else 
                    {
                        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();
    }
  • 相关阅读:
    怎样使用jlink一键烧录整个flash Hi3518 a c e Hi3515 Hi3512
    阅读zepto.js的core中的Core methods
    linux下执行strlwr函数出错:ld returned 1 exit status
    POJ 3286 How many 0&#39;s?
    As long as Binbin loves Sangsang
    docker 的安装
    浅析JAVA设计模式之工厂模式(一)
    怎样在屏幕上显示多个alv
    链表的应用:单元多项式的加法、减法、乘法
    Android 开发中 iBeacon的使用
  • 原文地址:https://www.cnblogs.com/dongqiaozhi/p/5281555.html
Copyright © 2011-2022 走看看