2017-05-07 18 views
-1

我处于学习C#的早期阶段,并且遇到了一些障碍,因为我无法将自己的头围绕在一些看似基本的逻辑上!我有预期的产出价值,并且似乎无法将其与投入结合起来。是否有人能够逐行浏览并帮助我分解它?C#可选参数 - for循环

class Program 
{ 
    static int Pow(int x, int y=2) 

    { 
     int result = 1; 
     for (int i = 0; i < y; i++) 
     { 
      result *= x; 
     } 
     return result; 
    } 
    static void Main(string[] args) 
    { 
     Console.WriteLine(Pow(6)); 

     Console.WriteLine(Pow(3, 4)); 
    } 
} 

预期输出分别为36和81,任何人都有帮助,真的很感激!

+0

你为什么不先一步一步地通过它自己,并告诉我们你学到了什么? – Jens

+0

本地运行,它输出完全预期的输出。作为一名学习者,现在是自己调试程序的最佳时机,并且不要求别人去做。针对*特定*问题保留您的问题,而不是说您的程序无法正常工作。 – Rob

+2

你得到的答案与预期有什么不同? – Snympi

回答

0

调试它自己应该产生以下

Pow(6)运行与x=6y=2的方法。前循环result是1。在第一次迭代,result变得6.第二(和最后一次迭代)result变得36.

Pow(3,4)运行具有x=3y=4的方法。尝试调试循环并查看result如何更改。

+0

这是我绊倒的地方我想 - 为什么结果变成6? –

+0

@RobP因为它运行'1 * 6'一次。 – Rob