0

私の本には、次のような for ループを書くように求められた演習がありました。

for(i=0;(i<4) && (i<5);i++)

&&ただし、 and||演算子は使用しません。

私はこのような解決策を思いつきました:

for (i=0;;i++)
        if((i<4))
            if((i<5))
                printf("Works!!!\n");
            else
                break;
        else
            break;

できます。私はCの初心者なので、これよりも良い解決策があるかどうか知りたい.

前もって感謝します。

4

2 に答える 2

8

あなた&&は2つの条件を組み合わせて、一方が他方に対して論理的に弱いものになるようにしています。整数が 4 未満の場合、それは必然的に 5 未満です。したがって、(i<4) && (i<5)単に に置き換えることができます(i<4)

于 2012-04-07T06:47:37.517 に答える
0

スタイルに関する注意: 入れ子になった if を含む中括弧を常に使用することをお勧めします。少なくとも外側の if については、特に else が欠落している場合は特にそうです。これはあなたが意図したことをしません:

if (Cond1)
    if (Cond2)
        DoSomething;
else
    DoSomethingElse;

コンパイラは、else を Cond2 に属するものとして認識します。これにより、誤解の余地はありません。

if (Cond1)
{
    if (Cond2)
    {
        DoSomething;
    }
}
else
{
    DoSomethingElse;
}
于 2012-04-07T10:50:25.573 に答える