2011年08月07日

C【1】

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

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

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 )行の前で実施すれば問題ありませんね。ナイス


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

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


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




Posted by JOB CAFE at 23:59│Comments(0)C
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
JOB CAFE
JOB CAFE
株式会社 ネクサス
                  
本社 :静岡県浜松市中区大工町311-15
            
     TEL:053-451-0830           
     FAX:053-451-0832
オーナーへメッセージ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
削除
C【1】
    コメント(0)