gpt4 book ai didi

无法弄清楚我的 switch 语法有什么问题

转载 作者:行者123 更新时间:2023-11-30 19:56:35 24 4
gpt4 key购买 nike

好吧,大家,我的 switch 语法遇到了问题,我不知道为什么无法编译它。

我发布了错误的代码部分,以便您可以帮助我。

如果您需要有关代码的任何信息,请询问我。

for (c=0; c<3; c++) // 3 jogadores ( 4 - voce )
{
switch(c)
{
case 0:
char cartas[7];
cartas[0] = jog2_carta1[0];
cartas[1] = jog2_carta1[1];
cartas[2] = jog2_carta2[0];
cartas[3] = jog2_carta2[1];
cartas[4] = jog2_carta3[0];
cartas[5] = jog2_carta3[1];
cartas[6] = '\0';

if (strcmp(retornaMaior(cartas,mesa_jog1[0]), "00") == 1)
{
printf("%s", retornaMaior(cartas,mesa_jog1[0]));
maiorRodada = 2;
// remove carta (na funcao)
}
else
{
// remove menor
}
break;
case 1: // jogador 3
char cartas[7];
cartas[0] = jog3_carta1[0];
cartas[1] = jog3_carta1[1];
cartas[2] = jog3_carta2[0];
cartas[3] = jog3_carta2[1];
cartas[4] = jog3_carta3[0];
cartas[5] = jog3_carta3[1];
cartas[6] = '\0';

if (strcmp(retornaMaior(cartas,mesa_jog2[0]), "00") == 1)
{
if (maiorRodada == 2)
{
printf("%s", retornaMaior(cartas,mesa_jog2[0]));
maiorRodada = 3;
// remove carta (na funcao)
}
}
else
{
// remove menor
}
break;
case 2: // jogador 4
break;
}
}

最佳答案

首先,如果您询问语法错误,请始终向我们显示确切的错误消息,并明确指出它引用的是哪一行。

问题是带有 case 标签的语句的语法是:

case 常量表达式 : 语句

你有:

case 0:
char cartas[7];
cartas[0] = jog2_carta1[0];
// ...

char cartas[7]; 是一个声明,而不是声明

您可以通过用大括号将每个 case 的主体括起来来解决此问题,使整个代码块(包括前导声明)成为单个语句:

case 0:
{
char cartas[7];
cartas[0] = jog2_carta1[0];
// ...
break;
}

关于无法弄清楚我的 switch 语法有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23611716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com