Ir para conteúdo
Fórum Script Brasil
  • 0

C: Função está copiando o último elemento a ser colocado no vetor em todas as posições


Samuel Rios

Pergunta

Pessoal, o objetivo da função newData é apenas armazenar um nome numa determinada posição do vetor, porém quando eu vou imprimir o vetor, depois de já ter colocado os nomes, é como se ele tivesse colcado o último nome que entrou em todas as posições do vetor.

vejam o código:

#include <stdio.h>

typedef struct{
    char *c;
} data_t;

void newData(data_t dx[], int j, char *t){
    dx[j].c=t;
}
int main(){
    data_t dv[10];
    char s[10];
    for(int i=0; i<10; i++){
        printf("Digite o nome %d: ", (i+1));
        scanf("%s", s);
        newData(dv, i, s);
    }
    for(int i=0; i<10; i++) printf("Nome da posição %d: %s\n", (i+1), dv[i].c);
}

Se puderem me ajudar a resolver esse problema, agradeço 🙂

 

Editado por Samuel Rios
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...