"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
In article <47db1ed3$0$15757$,
candide wrote:"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
In article <47db1ed3$0$15757$426a74cc@news.free.fr>,
candide <c.candide@free.fr> wrote:
"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
In article <47db1ed3$0$15757$,
candide wrote:"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
In article <47db1ed3$0$15757$,
candide wrote:"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Désolé, je ne vois pas où tu veux en venir. Je lis dans K&R :
By definition, the value of a variable or expression of type array is
the address of element zero of the array.
alors je ne vois pas comment il serait possible que cette valeur ne soit
pas stockée en mémoire.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
ça veut dire quoi "se trimballer un tableau d'un coin à l'autre du
programme" ?
(tu veux dire l'"utiliser", par exemple le passer en paramètre d'une
fonction ou accéder à ses éléments, si c'est ça, ta formulation est
trompeuse et peut être interprétée de façon erronée par quelqu'un qui ne
sait pas encore bien ce qu'est un tableau).tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
Qu'est-ce que tu racontes-là ? Qu'est-ce que c'est que ces tableaux qui
se trimballent et ces pointeurs qui se balladent ? Tu es l'Apollinaire
du C ? tu parles comme ça à tes étudiants ? Tu vois bien que François
est en train de couper des bits en 4 alors pèse tes mots.
In article <47db1ed3$0$15757$426a74cc@news.free.fr>,
candide <c.candide@free.fr> wrote:
"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Désolé, je ne vois pas où tu veux en venir. Je lis dans K&R :
By definition, the value of a variable or expression of type array is
the address of element zero of the array.
alors je ne vois pas comment il serait possible que cette valeur ne soit
pas stockée en mémoire.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
ça veut dire quoi "se trimballer un tableau d'un coin à l'autre du
programme" ?
(tu veux dire l'"utiliser", par exemple le passer en paramètre d'une
fonction ou accéder à ses éléments, si c'est ça, ta formulation est
trompeuse et peut être interprétée de façon erronée par quelqu'un qui ne
sait pas encore bien ce qu'est un tableau).
tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
Qu'est-ce que tu racontes-là ? Qu'est-ce que c'est que ces tableaux qui
se trimballent et ces pointeurs qui se balladent ? Tu es l'Apollinaire
du C ? tu parles comme ça à tes étudiants ? Tu vois bien que François
est en train de couper des bits en 4 alors pèse tes mots.
In article <47db1ed3$0$15757$,
candide wrote:"La valeur n'est pas stockée en mémoire" : à mon avis, non, un tableau
est un objet, comment on y accèderait sinon ?
Ben si. Elle n'est gardee que par le compilateur, et cablee dans le code
a l'execution.
Désolé, je ne vois pas où tu veux en venir. Je lis dans K&R :
By definition, the value of a variable or expression of type array is
the address of element zero of the array.
alors je ne vois pas comment il serait possible que cette valeur ne soit
pas stockée en mémoire.
Dans tous les cas ou on voudrait se trimballer le tableau
d'un coin a l'autre du programme,
ça veut dire quoi "se trimballer un tableau d'un coin à l'autre du
programme" ?
(tu veux dire l'"utiliser", par exemple le passer en paramètre d'une
fonction ou accéder à ses éléments, si c'est ça, ta formulation est
trompeuse et peut être interprétée de façon erronée par quelqu'un qui ne
sait pas encore bien ce qu'est un tableau).tu tombes sur un cas ou celui-ci est
converti en pointeur, et c'est le pointeur que tu ballades.
Qu'est-ce que tu racontes-là ? Qu'est-ce que c'est que ces tableaux qui
se trimballent et ces pointeurs qui se balladent ? Tu es l'Apollinaire
du C ? tu parles comme ça à tes étudiants ? Tu vois bien que François
est en train de couper des bits en 4 alors pèse tes mots.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
tableaux, et des pointeurs. En dehors des definitions de tableaux, celles
qui reservent reellement de la place, tout le reste n'est que pointeur.
Sinon, je t'emmerde mon petit gars. Et si t'es pas content, c'est pareil.
Mes etudiants, ils ne sont pas systematiquement arrogants, et oscillant
entre de la fausse naivete et des tentatives systematiques de prendre leur
prof en defaut.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
tableaux, et des pointeurs. En dehors des definitions de tableaux, celles
qui reservent reellement de la place, tout le reste n'est que pointeur.
Sinon, je t'emmerde mon petit gars. Et si t'es pas content, c'est pareil.
Mes etudiants, ils ne sont pas systematiquement arrogants, et oscillant
entre de la fausse naivete et des tentatives systematiques de prendre leur
prof en defaut.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
tableaux, et des pointeurs. En dehors des definitions de tableaux, celles
qui reservent reellement de la place, tout le reste n'est que pointeur.
Sinon, je t'emmerde mon petit gars. Et si t'es pas content, c'est pareil.
Mes etudiants, ils ne sont pas systematiquement arrogants, et oscillant
entre de la fausse naivete et des tentatives systematiques de prendre leur
prof en defaut.
int tab[10] ;
et qu'il y a " tab " qui intervient après dans le code (" tab "
complètement isolé, pas de crochet juste à droite comme par exemple avec "
tab[2] ") *tout se passe comme si* :
tab = tab + 1 ;
int tab[10] ;
et qu'il y a " tab " qui intervient après dans le code (" tab "
complètement isolé, pas de crochet juste à droite comme par exemple avec "
tab[2] ") *tout se passe comme si* :
tab = tab + 1 ;
int tab[10] ;
et qu'il y a " tab " qui intervient après dans le code (" tab "
complètement isolé, pas de crochet juste à droite comme par exemple avec "
tab[2] ") *tout se passe comme si* :
tab = tab + 1 ;
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, ...
... il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &tab[0].
Et ce qui se passe pour tab se passe aussi pour les autres expressions qui
ont un type tableau, par exemple si on a déclaré
int (*pt)[10];
int t2[10][10];
alors *pt et t2[2] sont deux expressions ayant le même type que tab. On a
aussi
sizeof *pt == sizeof t2[2] == sizeof tab
&*pt, &t2[2] ont pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire
&tab[0] = &tab[0] + 1 ou x+1 = x+3.
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, ...
... il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &tab[0].
Et ce qui se passe pour tab se passe aussi pour les autres expressions qui
ont un type tableau, par exemple si on a déclaré
int (*pt)[10];
int t2[10][10];
alors *pt et t2[2] sont deux expressions ayant le même type que tab. On a
aussi
sizeof *pt == sizeof t2[2] == sizeof tab
&*pt, &t2[2] ont pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire
&tab[0] = &tab[0] + 1 ou x+1 = x+3.
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, ...
... il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &tab[0].
Et ce qui se passe pour tab se passe aussi pour les autres expressions qui
ont un type tableau, par exemple si on a déclaré
int (*pt)[10];
int t2[10][10];
alors *pt et t2[2] sont deux expressions ayant le même type que tab. On a
aussi
sizeof *pt == sizeof t2[2] == sizeof tab
&*pt, &t2[2] ont pour type "pointeur vers tableau de 10 int"
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire
&tab[0] = &tab[0] + 1 ou x+1 = x+3.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Non, si je fais du C, le compilateur pour moi est une boite noire, je ne
m'intéresse pas à la façon dont le compilateur implémente telle ou telle
fonctionnalité, chacun son boulot, pour moi le comportement visible du
compilateur est défini par la norme et je n'ai pas à sortir de là,la
seule difficulté pour moi, pauvre programmeur du dimanche, étant de
comprendre la norme mais je ne vois pas pourquoi avec le temps je n'y
arriverais pas. Ma vision est celle d'un _utilisateur_ de compilateur,
comme un voyageur qui se déplace en voiture d'un point A à un point B
n'a pas besoin de savoir le nombre de cylindres du moteur. C'est le
b-a-ba de la conception logicielle, il y a les interfaces et
l'implémentation. Les cordonniers ...
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
Une fois de plus, ça te dérangerait de t'exprimer clairement. La
question était (autant qu'elle ait un sens comme l'a fait remarquer JMB) :
"la valeur d'un tableau est-elle oui ou non stockée en mémoire pendant
l'exécution du programme".
Bon l'"étiquette" en question pour reprendre ton vocabulaire inapproprié
c'est donc la trace en mémoire du tableau.
Il est possible que je sois passé à côté de quelque chose, je ne suis
qu'un programmeur du dimanche et je manque en effet d'imagination, mais
je ne vois pas comment on peut accéder à un objet s'il n'est pas stocké
en mémoire.
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Non, si je fais du C, le compilateur pour moi est une boite noire, je ne
m'intéresse pas à la façon dont le compilateur implémente telle ou telle
fonctionnalité, chacun son boulot, pour moi le comportement visible du
compilateur est défini par la norme et je n'ai pas à sortir de là,la
seule difficulté pour moi, pauvre programmeur du dimanche, étant de
comprendre la norme mais je ne vois pas pourquoi avec le temps je n'y
arriverais pas. Ma vision est celle d'un _utilisateur_ de compilateur,
comme un voyageur qui se déplace en voiture d'un point A à un point B
n'a pas besoin de savoir le nombre de cylindres du moteur. C'est le
b-a-ba de la conception logicielle, il y a les interfaces et
l'implémentation. Les cordonniers ...
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
Une fois de plus, ça te dérangerait de t'exprimer clairement. La
question était (autant qu'elle ait un sens comme l'a fait remarquer JMB) :
"la valeur d'un tableau est-elle oui ou non stockée en mémoire pendant
l'exécution du programme".
Bon l'"étiquette" en question pour reprendre ton vocabulaire inapproprié
c'est donc la trace en mémoire du tableau.
Il est possible que je sois passé à côté de quelque chose, je ne suis
qu'un programmeur du dimanche et je manque en effet d'imagination, mais
je ne vois pas comment on peut accéder à un objet s'il n'est pas stocké
en mémoire.
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
Tu manques furieusement d'imagination.
Joue avec ton compilateur.
Non, si je fais du C, le compilateur pour moi est une boite noire, je ne
m'intéresse pas à la façon dont le compilateur implémente telle ou telle
fonctionnalité, chacun son boulot, pour moi le comportement visible du
compilateur est défini par la norme et je n'ai pas à sortir de là,la
seule difficulté pour moi, pauvre programmeur du dimanche, étant de
comprendre la norme mais je ne vois pas pourquoi avec le temps je n'y
arriverais pas. Ma vision est celle d'un _utilisateur_ de compilateur,
comme un voyageur qui se déplace en voiture d'un point A à un point B
n'a pas besoin de savoir le nombre de cylindres du moteur. C'est le
b-a-ba de la conception logicielle, il y a les interfaces et
l'implémentation. Les cordonniers ...
Regarde le code machine qui resulte de
char a[] = "bonjour";
char *b = "bonjour";
tandis que dans le cas du tableau, t'as juste
une etiquette qui traine sur le premier element du tableau.
Une fois de plus, ça te dérangerait de t'exprimer clairement. La
question était (autant qu'elle ait un sens comme l'a fait remarquer JMB) :
"la valeur d'un tableau est-elle oui ou non stockée en mémoire pendant
l'exécution du programme".
Bon l'"étiquette" en question pour reprendre ton vocabulaire inapproprié
c'est donc la trace en mémoire du tableau.
Il est possible que je sois passé à côté de quelque chose, je ne suis
qu'un programmeur du dimanche et je manque en effet d'imagination, mais
je ne vois pas comment on peut accéder à un objet s'il n'est pas stocké
en mémoire.
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Ce sont ce qu'on pourrait appeler des exceptions, c'est ça ?Dans les autres contextes, ...
En dehors de ces exceptions, si je comprends bien...
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
Alors là vous me parlez de tableaux que je qualifierais "d'exotiques".
Dans ce que j'avais dit, je m'étais prudemment restreint à un brave "int
tab[10];". Nous parlons donc d'autres choses, non sans rapport bien sûr
et très intéressant. Et là par contre, je ne sais que dire.
Ne serait-ce pas plutôt « int t2[2][10]; » au début pour la déclaration du
tableau ?
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire &tab[0] = &tab[0]
+ 1 ou x+1 = x+3.
Là aussi, j'ai l'impression (peut-être à tort) que vous chercher à
rectifier une erreur de ma part.
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Ce sont ce qu'on pourrait appeler des exceptions, c'est ça ?
Dans les autres contextes, ...
En dehors de ces exceptions, si je comprends bien...
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
Alors là vous me parlez de tableaux que je qualifierais "d'exotiques".
Dans ce que j'avais dit, je m'étais prudemment restreint à un brave "int
tab[10];". Nous parlons donc d'autres choses, non sans rapport bien sûr
et très intéressant. Et là par contre, je ne sais que dire.
Ne serait-ce pas plutôt « int t2[2][10]; » au début pour la déclaration du
tableau ?
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire &tab[0] = &tab[0]
+ 1 ou x+1 = x+3.
Là aussi, j'ai l'impression (peut-être à tort) que vous chercher à
rectifier une erreur de ma part.
sizeof tab vaut 10*sizeof(int)
&tab a pour type "pointeur vers tableau de 10 int"
Ce sont ce qu'on pourrait appeler des exceptions, c'est ça ?Dans les autres contextes, ...
En dehors de ces exceptions, si je comprends bien...
Dans les autres contextes, il y a une conversion implicite qui fait "tout
se passe comme si" tu avais écrit &(*pt)[0] ou &t2[2].
Alors là vous me parlez de tableaux que je qualifierais "d'exotiques".
Dans ce que j'avais dit, je m'étais prudemment restreint à un brave "int
tab[10];". Nous parlons donc d'autres choses, non sans rapport bien sûr
et très intéressant. Et là par contre, je ne sais que dire.
Ne serait-ce pas plutôt « int t2[2][10]; » au début pour la déclaration du
tableau ?
tab = tab + 1 ;
tu ne peux pas faire cela pas plus que tu ne peux faire &tab[0] = &tab[0]
+ 1 ou x+1 = x+3.
Là aussi, j'ai l'impression (peut-être à tort) que vous chercher à
rectifier une erreur de ma part.
Manque de bol, tu ne peux pas comprendre certains points de la norme
sans te plonger dans l'implementation...
En particulier, dans char a[] = "bonjour"; a est une constante.
Encore une fois, compare avec char *b = "bonjour"; tu y trouveras un
espace memoire reserve de plus, pour stocker le pointeur b.
Tu confonds l'objet lui-meme (le tableau a) et son contenu (les caracteres
qui constituent "bonjour")...
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
Contrairement a ce que tu penses, je sais tres bien de quoi je parle.
La, pour une fois, je vais etre gentil.
Les tableaux sont decrits dans 6.2.5.20 (definition des types tableaux),
dans 6.3.2.1 (ou les exceptions a la conversion en pointeur sont specifiees:
precisement, sizeof, & unaire, et chaine literale d'initialisation), en
6.7.5.2 (declaration des tableaux), et en 6.7.8 (expressions d'initialisation).
De tous ces paragraphes, on peut deduire qu'une implementation n'a pas
besoin de stocker un objet `tableau' en memoire, juste la valeur des
elements constituants.
Si au lieu de jouer au plus con,
lorsqu'on te dit d'essayer un truc,
tu l'essayais reellement, tu aurais peut-etre plus de chance d'y voir
plus clair...
Manque de bol, tu ne peux pas comprendre certains points de la norme
sans te plonger dans l'implementation...
En particulier, dans char a[] = "bonjour"; a est une constante.
Encore une fois, compare avec char *b = "bonjour"; tu y trouveras un
espace memoire reserve de plus, pour stocker le pointeur b.
Tu confonds l'objet lui-meme (le tableau a) et son contenu (les caracteres
qui constituent "bonjour")...
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
Contrairement a ce que tu penses, je sais tres bien de quoi je parle.
La, pour une fois, je vais etre gentil.
Les tableaux sont decrits dans 6.2.5.20 (definition des types tableaux),
dans 6.3.2.1 (ou les exceptions a la conversion en pointeur sont specifiees:
precisement, sizeof, & unaire, et chaine literale d'initialisation), en
6.7.5.2 (declaration des tableaux), et en 6.7.8 (expressions d'initialisation).
De tous ces paragraphes, on peut deduire qu'une implementation n'a pas
besoin de stocker un objet `tableau' en memoire, juste la valeur des
elements constituants.
Si au lieu de jouer au plus con,
lorsqu'on te dit d'essayer un truc,
tu l'essayais reellement, tu aurais peut-etre plus de chance d'y voir
plus clair...
Manque de bol, tu ne peux pas comprendre certains points de la norme
sans te plonger dans l'implementation...
En particulier, dans char a[] = "bonjour"; a est une constante.
Encore une fois, compare avec char *b = "bonjour"; tu y trouveras un
espace memoire reserve de plus, pour stocker le pointeur b.
Tu confonds l'objet lui-meme (le tableau a) et son contenu (les caracteres
qui constituent "bonjour")...
Oui, je cherche à mettre le prof en défaut si je vois que l'assurance
avec laquelle il me répond n'est pas en rapport avec la maitrise qu'il
possède de la question ou même seulement avec la cohérence de ses
réponses. Je n'aime pas qu'on fasse semblant et qu'on le reconnaisse pas.
Contrairement a ce que tu penses, je sais tres bien de quoi je parle.
La, pour une fois, je vais etre gentil.
Les tableaux sont decrits dans 6.2.5.20 (definition des types tableaux),
dans 6.3.2.1 (ou les exceptions a la conversion en pointeur sont specifiees:
precisement, sizeof, & unaire, et chaine literale d'initialisation), en
6.7.5.2 (declaration des tableaux), et en 6.7.8 (expressions d'initialisation).
De tous ces paragraphes, on peut deduire qu'une implementation n'a pas
besoin de stocker un objet `tableau' en memoire, juste la valeur des
elements constituants.
Si au lieu de jouer au plus con,
lorsqu'on te dit d'essayer un truc,
tu l'essayais reellement, tu aurais peut-etre plus de chance d'y voir
plus clair...