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

あなたはまず最初に自分の行を1歩ずつ進んで、何を学んでいるのか教えてください。 – Jens

+0

ローカルで実行すると、予想される出力が正確に出力されます。また、学習者として、あなた自身でプログラムをデバッグし、他の人にそれをやるように依頼するのには最適な時間です*。あなたのプログラムがうまくいかないというより、*特定の*問題のためにあなたの質問を予約してください。 – Rob

+2

あなたはそれと何が違うのですか? – Snympi

答えて

0

Pow(6)x=6y=2でメソッドを実行します。ループresultは、最初の反復の間に1になる前に、resultは、前記第2の(そして最後の反復)となるresultは36

Pow(3,4)なるx=3y=4で方法を実行します。ループをデバッグして、どのように変化しているのかを確認しようとしていますresultが変更されました。

+0

これは私が考えているところです - なぜ結果は6になるのですか? –

+0

@RobPこれは '1 * 6'を一度実行するためです。 – Rob