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

lagarkane -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
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?

A voir également:

1 réponse

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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,
0