Sou iniciante em C e estou criando um rpg, então elaborei o seguinte codigo que sorteia palavras contidas em 3 vetores: nome1, nome2, nome3, e concatena em nomepronto para formar nome de inimigos. O problema é que algumas vezes o primeiro nome nāo aparece, e outras sai caracteres estranhos. Acredito que tenha haver com o caractere nulo, mais nāo tenho ideia de como concertar isso:
#include<stdio.h>#include<time.h>#include<stdlib.h>int main (){char nomepronto[2][50];char nome1[8][50]={"DRAGAO","LADRAO","REI","POLVO","MONSTRO","LEAO","HOMEM"};char nome2[8][50]={" ESMAGADOR DE"," COMEDOR DE"," VENDEDOR DE"," CHUPADOR DE"," ARRANCADOR DE"," MANIPULADOR DE"," FURTADOR DE"," ADORADOR DE"};char nome3[8][50]={" CABEÇAS"," TRIPAS"," OSSOS"," SANGUE"," OLHOS"," CACHORRO"," COBRAS"," DEMONIOS"};int x;int y;int z;
srand((unsigned)time(NULL));//SORTEIA NUMEROS DE 1-8 PRA CADA VARIAVEL
x = rand()%8;
y = rand()%8;
z = rand()%8;//CONCATENA POR ORDEM EM OUTRA VARIAVEL
strcat(nomepronto[1], nome1[x]);
strcat(nomepronto[1], nome2[y]);
strcat(nomepronto[1], nome3[z]);
printf("\n\n%s", nomepronto[1]);}
Pergunta
WesleyMS
Sou iniciante em C e estou criando um rpg, então elaborei o seguinte codigo que sorteia palavras contidas em 3 vetores: nome1, nome2, nome3, e concatena em nomepronto para formar nome de inimigos. O problema é que algumas vezes o primeiro nome nāo aparece, e outras sai caracteres estranhos. Acredito que tenha haver com o caractere nulo, mais nāo tenho ideia de como concertar isso:
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.