Déclarer et initialiser statiquement un tableau d'entiers t avec des valeurs dont certaines seront nulles. Écrire une procédure qui parcoure le tableau t et qui imprime les index des éléments nuls du tableau, sans utiliser aucune variable de type entier. Une solution possible est donnée page suivante.
#include <stdio.h> #define N 10 int t[N] = {1,2,0,11,0,12,13,14,0,4}; /*****************************************************************************/ /* */ /* print1 */ /* Premiere version */ /* */ /*****************************************************************************/ void print1() { int *pdeb,*pfin,*p; pdeb = &t[0]; /* repère le premier élément de t */ pfin = &t[N-1]; /* repère le dernier élément de t */ for (p = pdeb; p <= pfin; p++) if (*p == 0) printf("%d ",p - pdeb); printf("\n"); } /*****************************************************************************/ /* */ /* print2 */ /* Une autre version */ /* */ /*****************************************************************************/ void print2() { int *pdeb,*pfin,*p; pdeb = &t[0]; /* repère le premier élément de t */ pfin = pdeb + N; /* repère l'élément (fictif) apres le dernier élément de t */ for (p = pdeb; p < pfin; p++) if (*p == 0) printf("%d ",p - pdeb); printf("\n"); } /*****************************************************************************/ /* */ /* main */ /* */ /*****************************************************************************/ int main() { print1(); print2(); }