2017-11-24 7 views
-5

を使用して構造されたif-then-else-ifが実装:C言語:私は、このされたif-then-else-かの構造を実装したい、入れ子のif-then-IF構造

場合、ネストされたを使用して
if (a > b) 
    a = a - 1; 
else if (b >= c) 
    b = b − 2; 
else if (c > d) 
    c = c + d; 
else 
    d = d/2; 

-then-if構造体。私はこのコードを試してみましたが、それは最初のコードと私に同じ結果が得られませんでした:

if (c > d) 
    if (b >= c) 
     if (a > b) 
      a=a-1; 
     else 
      b=b-2; 
    else 
     c=c+d; 
else 
    d=d/2; 
+0

なぜネストされた構造が必要ですか? – klutt

+2

'else if'はすでに入れ子になっています – StoryTeller

+1

アルコール飲料を作るには –

答えて

1

`if (a) if (b)` 
をやってあなたのケース

`if (a && b)` 

に相当し

if (c > d) 
    if (b >= c) 
    if (a > b) 

if (c > d && b >= c && a > b) 

これは、最初のコードとはまったく異なります。

+0

ありがとう、beatle –

0

あなたが本当にそのように入れ子にしたい場合は、

if (a <= b) { 
    if (b < c) { 
     if (c <= d) { 
      d = d/2; 
     } else { 
      c = c + d; 
     } 
    } else { 
     b = b - 2; 
    } 
} else { 
    a = a - 1; 
} 

しかしelse if読みする方がはるかに簡単ですが試みることができます。

+0

私はあなたの命題を試しましたが、if-then-else-if構造の最初のコードのような同じ結果は得られませんでした。 –

+0

申し訳ありませんが、最初のif-condition(<=)の代わりにwrote> =に誤字がありました。今私のために働く。 – LimeThaw

関連する問題