Bonjour,
J'ai décidé de me lancer dans une formation en ligne dans le langage C car j'ai découvert la programmation en bidouillant d'abord sur Excel en VBA et je me suis rendue compte que j'adore ça !
Je débute tout juste et je dois me débrouiller seule car ce sont juste des cours en ligne avec des évaluations à chaque fin de chapitre. En rentrant les programmes des tests sur Code::Blocks pour contrôler les réponses que j'avais données, je me suis aperçue que j'ai commis une erreur sur un exo d'un des tests mais n'ayant aucun corrigé et après m'être retournée la tête, avoir fouillé dans les cours et avoir regardé les tutos et FAQ du site, je ne parviens toujours pas à comprendre mon erreur. C'est sans doute tout bête mais je fais un blocageet j'espère que l'un d'entre vous pourra m'aider :
Pour moi, cela devrait afficher 0 mais en réalité cela affiche 1. Je pense que la raison se trouve dans le p[1]=p[0] mais je ne parviens pas à l'expliquer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdio.h> #include <stdlib.h> int main(void) { int i,j; int **p = (int **)malloc(2 * sizeof(int *)); p[0] = (int *)malloc(2 * sizeof(int)); p[1] = p[0]; for(i = 0; i < 2; i++) for(j = 0; j < 2; j++) p[i][j] = i + j; printf("%d",p[0][0]); return 0; }
Pouvez-vous m'aider ?
Merci beaucoup !
Partager