Jump to content
Fórum Script Brasil
  • 0

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


Question

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 🙂

 

Edited by Samuel Rios
Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148674
    • Total Posts
      644490
×
×
  • Create New...