我无法理解所发生的情况。第二个标记的值是一些随机数而不是1.为什么第二个标记的值不是函数中的值?函数返回值与预期不同
struct player
{
char name[20];
enum cell token;
unsigned score;
};
BOOLEAN init_player2(struct player *second, enum cell token)
{
token = 1;
}
int main()
{
struct player second;
init_player2(&second, second.token);
printf("The value of second token is: %d\n", second.token);
return 0;
}
'token = 1;'对'second.token'没有影响。你想'second-> token = 1;'(第二个参数是多余的)。 – Michael
此外,我没有看到任何需要传递第二个参数! – CinCout
这个人肯定有几十个傻瓜,@CBegin你应该先从**搜索**开始,然后再问自己。 – fvu