#include // 1 struct candidat { char nom[23]; int num; }; // 2 /* -------- | | id candidat -> | getNum | -> entier | | -------- On passe normalement le candidat par pointeur, pour des raisons d'économie de mémoire, donc le prototype est */ int getNum (struct candidat *Did); /* Exceptionnellement, on autorise le passage direct, avec comme prototype int getNum (struct candidat Did); */ // 3 int getNum (struct candidat *Did) { return Did->num; } /* solution avec passage direct: int getNum (struct candidat Did) { return Did.num; } */ int main() { // 4 a struct candidat id; puts("Nom du candidat?"); scanf("%s", id.nom); puts("Numéro d'inscription?"); scanf("%d", &id.num); // 4 b printf("Le candidat %s a pour numéro %d.\n", id.nom, getNum(&id)); /* solution avec passage direct: printf("Le candidat %s a pour numéro %d.\n", id.nom, getNum(id)); */ return 0; }