hyetpang 2015-08-27 15:54 采纳率: 39.4%
浏览 2399
已采纳

输出参数解一元二次方程

using System;
using System.Collections.Generic;
using System.Text;

namespace 输出参数求解一元二次方程
{
class Program
{
public static void Root(int a, int b, int c, out double root1, out double root2)
{
double d = b * b - 4 * a * c;
double Sqrt = Math.Sqrt(d);
if (d > 0)
{
root1 = (-b + Sqrt) /( 2 * a);
root2 = (-b - Sqrt) / (2 * a);
}
else if (d == 0)
{
root1 = root2 = -b / (2 * a);
}
else
Console.WriteLine("此方程无根");
}
static void Main(string[] args)
{
int a = 5, b = 6, c = 1;
double root1, root2;
Root (a, b, c, out root1, out root2);
Console.WriteLine("root1 :{0},root2:{1}", root1, root2);
}
}
}
错误提示为控制离开方法之前必须对out参数root1.root2赋值。
我已经赋值了啊,为什么还会提示要对输出参数赋值的错误?

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-08-27 23:18
    关注

    在开头加上
    root1 = 0;
    root2 = 0;

    因为你虽然赋值了,但是赋值是写在if判断内的,不一定执行到。C#语言规定,必须把赋值写在可能程序能执行到的地方。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示