Erro em código fonte - strcpy

31/08/2009

0

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.
.


Rsaforuns

Rsaforuns

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar