Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thessk

Falha de Segmentação em Struct

Recommended Posts

É um problema simples, o exercício é apenas criar um registro e lê-lo.

typedef struct registro{
char nome[tam], end[tam];
int id;

}registro;

int main(){

registro pessoa;

printf("Digite um nome: ");
gets(pessoa.nome);
printf("Digite um endereço: ");
gets(pessoa.end);
printf("Digite uma idade: ");
scanf("%d", pessoa.id);
printf("\nNome: %s\nIdade: %d\nEndereço: %s", pessoa.nome, pessoa.id, pessoa.end);

O programa lê, mas não mostra o que foi digitado, alguém poderia ajudar?

Digite um nome: aaa
Digite um endereço: bbb
Digite uma idade: 12
Falha de segmentação (imagem do núcleo gravada)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoa.nome é um endereço, ja pessoa.id nao, entao o & é necessario.

Substitua a linha:

scanf("%d", pessoa.id);

Por

scanf("%d", &pessoa.id);

E é claro q o define "tam" precisa ser grande o suficiente. Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoa.nome é um endereço, ja pessoa.id nao, entao o & é necessario.

Substitua a linha:

scanf("%d", pessoa.id);

Por

scanf("%d", &pessoa.id);

E é claro q o define "tam" precisa ser grande o suficiente. Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.