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();
}