I have a function called "retornaMaior" which returns a char array, and I want to assign this return to a new variable like:
char variable[] = retornaMaior();
Is there any way to do this? If there is, how can I do that?
I was thinking about declaring the "variable" as a global like "cartas_jogo" but I don't know if it's right.
Code below:
char cartas_jogo[] = "4567QJKA23";
char naipes_jogo[] = "ZCEO";
char carta_retorno[2];
int retornaIndice(char carta)
{
int a = 0;
int retorno = 0;
for (a=0; a<strlen(cartas_jogo); a++)
{
if (carta==cartas_jogo[a])
{
retorno = a;
}
}
return retorno;
}
char *retornaMaior(char *cartas, const char carta_comp)
{
int posCartaComp = retornaIndice(carta_comp);
int a = 0;
int posMaior = 0;
int tem = 0;
int posA = 0;
for (a=0; a<6; a+=2)
{
int posCarta = retornaIndice(cartas[a]);
if (tem == 0)
{
if (posCarta>posCartaComp)
{
posMaior = posCarta;
posA = a;
tem = 1;
}
}
else
{
if (posCarta<posMaior)
{
if (posCarta>posCartaComp)
{
posMaior = posCarta;
posA = a;
}
}
}
}
carta_retorno[0] = cartas_jogo[posMaior];
posA++;
carta_retorno[1] = cartas[posA];
if (tem==0)
{
carta_retorno[0] = '0';
carta_retorno[1] = '0';
}
return carta_retorno;
}
retornaMaiorfunction.carta_retornois global, so there's nothing really that you need to do (besides removing the uselessreturn carta_retornostatement).