Array
(
)

Erro em código fonte - strcpy

Rsaforuns
   - 31 ago 2009

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 limpara as matrizes, mas não estou obtendo sucesso.

Segue o código:

[cod]
#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);
}

[\cod]

Agradeço a ajuda recebida.

Um abraço.

rsaforuns.
.