Bom dia, pessoal.
Estava desenvolvendo um código simples com matrizes e manipulação de strings.
Da forma como está só me deixa receber dados e depois da erro de execução. Mas se eu comento a linha do strcat o programa funciona.
Também fiquei na dúvida se o gets não está retornando alguma sujeira.
Além disso, estava tentando limpar as matrizes, mas não estou obtendo sucesso.
Segue o código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i=0, j=0, n=0;
char nome[n][15], sobrenome[n][30], endereco[n][80], telefone[n][8], idade[n][3], nome_compl[n][50];
char opcao=' ';
printf ("\nQuantidade a cadastrar: ");
scanf ("%d", &n);
for (i=0; i<n; i++)
{
for (j=0; j><80; j++)
{
endereco[i][j]=' ';
if (j<50)
nome_compl[i][j]=' ';
else
if (j<30)
sobrenome[i][j]=' ';
else
if (j<15)
nome[i][j]=' ';
else
if (j<8 )
telefone[i][j]=' ';
else
if (j<3)
idade[i][j]=' ';
}
}
printf ("\n\n");
printf ("*** C A D A S T R O ***");
for (i=0; i<n; i++)
{
fflush (stdin);
printf ("\n\nNome ....: ");
gets (nome[i]);
printf ("\nSobrenome: ");
gets (sobrenome[i]);
printf ("\nEndereco : ");
gets (endereco[i]);
printf ("\nTelefone : ");
gets (telefone[i]);
printf ("\nIdade ...: ");
gets (idade[i]);
strcpy (nome_compl[i], nome[i]);
strcat (nome_compl[i], " ");
strcat (nome_compl[i], sobrenome[i]);
}
printf ("\n\n");
printf ("*** R E S U L T A D O ***");
for (i=0; i><n; i++)
{
printf ("\n");
printf ("\n\nNome completo: %s", nome_compl[i]);
printf ("\n\nTamanho ref. ao nome completo: %d", strlen(nome_compl[i]));
printf ("\n\n");
}
printf ("\n\n");
system ("pause");
return(0);
}
Agradeço a ajuda recebida.
Um abraço.
rsaforuns.
.>