Tableaux 2D Euh... c'est Normal ca?!!!

Bonjour,

svp, pouvez-vous simplement recopier ceci dans votre IDE favori, et me dire si vous avez le même résultat que moi?

Et si oui, pouvez-vous m'expliquer POURQUOI ^^"

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

typedef struct tabTest
{
    int x[5][7];
    int y[5][7];
}tab;

int main()
{
    tab Tableau;
    int a, b = 0;
    int x, y = 70;

    for( a = 0 ; a < 5 ; a++)
    {
        for( b = 0 ; b < 7 ; b++)
        {
            Tableau.x[a][b] = x;
            Tableau.y[a][b] = y;
            b++;
            printf( "%d ; %d\n", Tableau.x[a][b], Tableau.y[a][b]);
            if(x == 910)
            {
                x = 70;
            }else{x+=140;}
        }
        a++;
        if(y == 630)
        {
            y = 70;
        }else{y+=140;}
    }
    return 0;
}


moi j'obtiens qqch du genre:

128 ; 0
-24282 ; 30530
-1852 ; 40
-23449 ; 30530
0 ; 0
118 ; 520
0 ; 0
0 ; 1
-19240 ; 82
128 ; 0
11 ; 0
8 ; 0

... ca ressemble plus à des adresse qu'aux valeurs que j'ai demandé, mais je ne crois pas que le code que j'ai saisi m'affiche des adresses, non?

1 réponse

  1. Contributeur
    Ya une erreur dans ton code.
    Pourquoi mettre b++ ? C'est déjà incrémenté par la boucle for.
    Du coup, tu affectes une valeur dans ton tableau, et t'affiches la case d'après qui est encore non initialisée.
    D'où les valeurs aléatoires.
    Cdlt,