Bonjour,

J'ai commencé les pointeurs aujourd'hui à l'école et en essayant de faire des exercices donnés par le professeur, je suis tombé sur quelque chose que je ne sais pas expliquer. Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
#include "stdio.h"
#include "stdafx.h"
 
 
void main(void)
{
	char caracteres[] = { 'T', 'U', 'L', 'I', 'P', 'E', 'S' }; 
	char * pCars = &caracteres[2];
 
	printf("%c\n", *pCars); // Affiche le contenu de la cellule pointée par le pointeur "L"
	printf("%d\n", pCars);
 
	printf("%c\n", --*(pCars));  // Affiche le contenu de la cellule pointée par le pointeur (lettre -1) "K"
	printf("%d\n", pCars);
 
	printf("%c\n", *pCars - 1); //Incrémente le compter de -1 et affiche le contenu de la cellule pointée par le pointeur "U"
	printf("%d\n", pCars);
	printf("%c\n", *pCars++);  // "K"
	printf("%d\n", pCars);
	printf("%c\n", *pCars + 3); //  Affiche le contenu de la cellule pointée par le pointeur (lettre+3) I -> L "L"
	printf("%d\n", pCars);
	getchar();
}
Les commentaires ainsi que les printf des adresses ont été ajoutés par moi même pour m'aider a comprendre

Je ne comprend vraiment pas pourquoi:
  • "printf("%c\n", *pCars++); // "K" " Affiche K et non pas un "M" ?


Si quelqu'un pourrait m'expliquer, cela serait vraiment sympathique

Merci beaucoup, bonne journée.