0

compilr.comでコードを実行しており、言語としてCを使用しています。私はあなたが在庫を持っていて100ドルから始める簡単なゲームを作ろうとしています。あなたは他のプレイヤーのために密かに仕事をすることでお金を稼ぎます。しかし、「初期化子が無効です」というエラーメッセージが表示されます。これは何ですか?どうすれば修正できますか?これが私のコードです:

#include<stdio.h>

int main()
{
    int player_cash[][3] = 100;
    int player[3];
    int job[][100] = {
        "Text me the address of player1",
        "I'll donate $100 to the your funds, if you steal the gold from player2 for me"
    };
            if (player_cash[1] > 5);
                do job[0]
        else if(player_cash[1]<5);

        return 0;
}
4

2 に答える 2

2
 int player_cash[][3] = 100;

intの2D配列を宣言してから、単一のintで初期化しようとします。正しい構文は

 int player_cash[][3] = 
 { 
   {100}
 };

int player_cash[][3] = { 100 };うまく動作しますが、スタイル的には正しくありません。

int job[][100] = { "Text me 

intsは整数であり、文字列ではありません。そのため、そのコードは意味がありません。

また、ifステートメントの後に常に{}を使用する習慣をつけてください。

if (player_cash[1] > 5);
 do job[0]

セミコロンがあるため、書いたかのように扱われます

if (player_cash[1] > 5)
{}
do job[0]
于 2012-10-04T20:10:26.953 に答える
1

手始めに、player_cashは2次元配列の宣言です。整数リテラルから初期化しようとします。これは機能しません。単に宣言するつもりでしたintか?1つの数量のみを格納する場合は、配列や2次元配列は必要ありません。

同じことが宣言にint job[][100]も当てはまりますが、ここでは文字列リテラルで初期化しようとします。

Cコードを書く前に、本を読む必要があります。Cコードのように見えるものを叩き出すだけでは、どこにも行き着きません。

于 2012-10-04T20:03:26.950 に答える