1

私はプログラミング言語の原則を学んでいます。私の先生は私に次のような質問をしました。

1:

if (Condition){
    Case A;
} else {
    Case B;
}

2:

Case B;
if (Condition) {
    Undo Case B;
    Case A;
}

C ++で仮定すると、これら2つのプログラムは同等ですか?


新たに追加されたのは次のとおりです。どちらがパフォーマンスが優れており、どのような条件で優れていますか?

4

2 に答える 2

1

両方のプログラムの出力は同じです。しかし、

if (Condition){
    Case A;
} else {
    Case B;
}

実行されたステートメントは 1 つだけです。これにより、「条件」が true の場合に実行時間が短縮されます。

Case B;
if (Condition) {
    Undo Case B;
    Case A;
}

Case Bの真偽値に関係なく常に実行されますCondition。がCondition真の場合、合計 3 つのステートメントが実行されます。

  1. ケースB
  2. ケース B を元に戻す
  3. ケースA

が false の場合Condition、両方のプログラムの実行時間はほぼ同じです。

于 2013-10-25T04:15:59.007 に答える
0

これは C++ ではなく、疑似コードに似ています

これら2つは同等です

1.条件が真の場合、ケースAが実行されます

2. 条件が真の場合、ケース B を元に戻し、ケース A を実行します。

于 2013-10-25T04:15:11.923 に答える