C【1】

JOB CAFE

2011年08月07日 23:59

今回は、今までと趣向を変えまして

皆さんに頭を使って貰おうかと思います。

C言語の簡単な問題です。

次のどこが(駄目)でしょうか?


    {
        BOOL bRet = FALSE;
        int iNum = 0;

        const int MAX = 10;
        const int ARRAY[ MAX ] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        if( 0 == iNum )
        {
            int iCount = 0;

            for( sIdx = 0; MAX >= sIdx; sIdx++ )
            {
                iCount += ARRAY[ sIdx ];
            }
        }

        iNum = iCount;
    }















●正解

これは、変数のスコープを対象とした問題です。

変数のスコープは{}内でのみ生きていますので、逆に{}外では使用出来ません。

よって正解は、iCountの宣言位置です。

iCountの宣言を、if( 0 == iNum )行の前で実施すれば問題ありませんね。



ブログランキングに参加しています。

---------------------------------------------------------------------------------------------------------------
   ■ 弊社の事をお知りになりたい方
   ■ その他、ご相談やご連絡を取りたい方は
     


画面上部の「オ-ナ-へメッセ-ジ」よりご連絡を下さい。


関連記事