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 player_cash[][3] = 
 { 
   {100}
 };

虽然int player_cash[][3] = { 100 };也可以正常工作,但在风格上不太正确。

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

int 是整数,它们不是字符串。所以那个代码甚至没有意义。

此外,请养成在 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是一个二维数组的声明。您尝试从整数文字初始化它。这行不通。你的意思是简单地声明一个int?如果您只想存储一个数量,则不需要数组甚至二维数组。

您的声明也是如此,int job[][100]但在这里您尝试使用字符串文字对其进行初始化。

在尝试编写 C 代码之前,您真的应该阅读一本书。仅仅敲出对你来说看起来像 C 代码的东西不会让你有任何收获。

于 2012-10-04T20:03:26.950 回答