Ir ao conteúdo

Posts recomendados

Postado

Boa noite pessoal, 

 

Estou fazendo um struct com vetor simples e gostaria de saber o porque do erro que está ocorrendo.

 

#include<stdio.h>

struct alunos
{
    char nome[10];
    char cpf[11];
    int nota;
};

main()
{
    struct alunos cadastro_alunos[3];
    int i;

    for (i = 0; i <= 2; i++)
    {
        printf("Digite o nome do aluno: ");
        scanf("%s", cadastro_alunos[i].nome);
        printf("Digite o CPF do aluno: ");
        scanf("%s", cadastro_alunos[i].cpf);
        printf("Digite a nota deste aluno: ");
        scanf("%d", cadastro_alunos[i].nota);
        printf("\n\n");
    }
    printf("\n\n");
    printf("O nome do aluno 1 e: %s\n", cadastro_alunos[0].nome);
    printf("O CPF do segundo aluno e: %s\n", cadastro_alunos[1].cpf);
    printf("A nota do aluno 3 e: %d\n", cadastro_alunos[2].nota);

}

 

Postado
28 minutos atrás, Fabio Aragao disse:

Boa noite pessoal, 

 

Estou fazendo um struct com vetor simples e gostaria de saber o porque do erro que está ocorrendo.

 


#include<stdio.h>

struct alunos
{
    char nome[10];
    char cpf[11];
    int nota;
};

main()
{
    struct alunos cadastro_alunos[3];
    int i;

    for (i = 0; i <= 2; i++)
    {
        printf("Digite o nome do aluno: ");
        scanf("%s", cadastro_alunos[i].nome);
        printf("Digite o CPF do aluno: ");
        scanf("%s", cadastro_alunos[i].cpf);
        printf("Digite a nota deste aluno: ");
        scanf("%d", cadastro_alunos[i].nota);
        printf("\n\n");
    }
    printf("\n\n");
    printf("O nome do aluno 1 e: %s\n", cadastro_alunos[0].nome);
    printf("O CPF do segundo aluno e: %s\n", cadastro_alunos[1].cpf);
    printf("A nota do aluno 3 e: %d\n", cadastro_alunos[2].nota);

}

 

boa noite amigo! voce esqueceu de colocar o &para fazer a leitura do scanf .

segue o codigo alterado:

#include<stdio.h>

struct alunos
{
    char nome[10];
    char cpf[11];
    int nota;
};

main()
{
    struct alunos cadastro_alunos[3];
    int i;

    for (i = 0; i <= 2; i++)
    {
        printf("Digite o nome do aluno: ");
        scanf("%s", &cadastro_alunos.nome);
        printf("Digite o CPF do aluno: ");
        scanf("%s", &cadastro_alunos.cpf);
        printf("Digite a nota deste aluno: ");
        scanf("%d", &cadastro_alunos.nota);
        printf("\n\n");
    }
    printf("\n\n");
    printf("O nome do aluno 1 e: %s\n", cadastro_alunos[0].nome);
    printf("O CPF do segundo aluno e: %s\n", cadastro_alunos[1].cpf);
    printf("A nota do aluno 3 e: %d\n", cadastro_alunos[2].nota);

}
 

  • Curtir 1
Postado

Perfeito, mas por acidente, coloquei apenas no ultimo scanf e funcionou da mesma forma.... ai fiquei mais confuso...

colocar & em todas as linhas scanf funcionou, mas se deixar apenas no ultimo tambem funciona....

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!