我在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;
}
答案 0 :(得分:2)
int player_cash[][3] = 100;
你声明一个二维的int数组,然后尝试用一个int初始化它。 正确的语法是
int player_cash[][3] =
{
{100}
};
虽然int player_cash[][3] = { 100 };
也可以正常工作,但风格更不正确。
int job[][100] = { "Text me
整数是整数,它们不是字符串。所以代码甚至没有意义。
另外,养成在if语句后始终使用{}的习惯。
if (player_cash[1] > 5);
do job[0]
由于分号,将被视为已写入
if (player_cash[1] > 5)
{}
do job[0]
答案 1 :(得分:1)
首先,player_cash
是二维数组的声明。您尝试从整数文字初始化它。这不行。你的意思是简单地声明一个int
吗?如果您只想存储一个数量,则不需要数组甚至二维数组。
同样适用于声明int job[][100]
但在这里你尝试用字符串文字初始化它。
在尝试编写C代码之前,你真的应该读一本书。只是敲打看起来像C代码的东西不会让你到处都是。