Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Não entendi muito bem o comportamento da Matriz

Até agora esse é o código da aula:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    // matriz de 5x10
    char mapa [5] [10+1];

    FILE *f;
    f = fopen("mapa.txt", "r");
    if (f == 0)
    {
        printf("Erro na leitura do mapa.\n");
        exit(1);
    }

    for (int i = 0; i < 5; i++)
    {
        fscanf(f, "%s", mapa[i]);
    }

    for (int i = 0; i < 5; i++)
    {
        printf("%s\n", mapa[i]);
        fclose(f);
    }
}

Ambos "for" tem um i=0 que vai até 5, o primeiro pega o mapa[i] e guarda na array e depois o segundo imprime essa array.

Ok.

Isso quer dizer que a array que foi guardada foi a linha inteira (contendo o [10+1] e não apenas um caractere? Ele guardou uma "array dentro de uma array"?

Olhando por cima achei que ele pegaria apenas o primeiro valor de cada linha, não todos 11 valores.

1 resposta
solução

Okay já vi que explicaram depois hahaha https://cursos.alura.com.br/course/introducao-a-programacao-com-c-parte-3/task/47041

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software