关于while语句和do while语句的问题
C#新人求解答:以下两个程式写法有什么区别?为什么第二个会提示错误:控制离开当前方法之前必须对 out 参数“interest”赋值。
我无法理解为什么第二个会错,不是也返回了interest值了吗?求高手解释。
第一个
/////////////////////////////////////
namespace ConsoleApplication2
{
class Program
{
static void Main()
{
decimal x = 1000;
decimal y;
decimal z = Gain(x, 3, out y);
Console.WriteLine("本息合计:{0},最后一年利息:{1}", z, y);
Console.ReadLine();
}
public static decimal Gain(decimal x, int n, out decimal interest)
{
int i = 0;
do
{
interest = x * 0.08M;
x += interest;
i++;
}
while (i < n);
return x;
}
}
}
////////////////////////////////////////
第二个
////////////////////////////////////////
namespace ConsoleApplication2
{
class Program
{
static void Main()
{
decimal x = 1000;
decimal y;
decimal z = Gain(x, 3, out y);
Console.WriteLine("本息合计:{0},最后一年利息:{1}", z, y);
Console.ReadLine();
}
public static decimal Gain(decimal x, int n, out decimal interest)
{
int i = 0;
while (i < n)
{
interest = x * 0.08M;
x += interest;
i++;
}
return x; //这里提示我错误:控制离开当前方法之前必须对 out 参数“interest”赋值。
}
}
}
/////////////////////////////////////////////////////////////////////
我无法理解为什么第二个会错,不是也返回了interest值了吗?求高手解释。
第一个
/////////////////////////////////////
namespace ConsoleApplication2
{
class Program
{
static void Main()
{
decimal x = 1000;
decimal y;
decimal z = Gain(x, 3, out y);
Console.WriteLine("本息合计:{0},最后一年利息:{1}", z, y);
Console.ReadLine();
}
public static decimal Gain(decimal x, int n, out decimal interest)
{
int i = 0;
do
{
interest = x * 0.08M;
x += interest;
i++;
}
while (i < n);
return x;
}
}
}
////////////////////////////////////////
第二个
////////////////////////////////////////
namespace ConsoleApplication2
{
class Program
{
static void Main()
{
decimal x = 1000;
decimal y;
decimal z = Gain(x, 3, out y);
Console.WriteLine("本息合计:{0},最后一年利息:{1}", z, y);
Console.ReadLine();
}
public static decimal Gain(decimal x, int n, out decimal interest)
{
int i = 0;
while (i < n)
{
interest = x * 0.08M;
x += interest;
i++;
}
return x; //这里提示我错误:控制离开当前方法之前必须对 out 参数“interest”赋值。
}
}
}
/////////////////////////////////////////////////////////////////////
...全文
相关推荐
c代码-分别应用while语句、do-while语句和for语句,求出100以内所有奇数的和。
本文将详细探讨如何使用while语句、do-while语句和for语句来实现一个简单的任务:计算100以内所有奇数的和。1. **while语句**: while循环会在执行循环体之前检查条件。
讲解C++的do while循环和循环语句的嵌套使用方法
C++中主要有三种循环结构:for、while和do while。虽然它们都能解决相同的问题,但各自有其特点。for循环在许多情况下提供更大的灵活性,因为可以在初始化、条件检查和更新部分执行复杂操作。
if语句 、switch语句 、for循环、break、continue、while、do-while
本文将深入讲解几种常用的控制流程语句,包括if语句、switch语句、for循环、break、continue、while和do-while循环。1.
Java中do…while循环语句实例1.pdf
通过实例学习和实践,开发者能够更好地理解和运用do...while循环来解决实际问题。
do-while循环语句的翻译
总结来说,"do-while循环语句的翻译(递归下降法,输出三地址)"是一个涉及编译原理的问题,需要理解do-while循环的语法、递归下降法的解析过程,以及如何将高级语言的循环结构转化为三地址码,这是编译器设计的基础步骤


