#include <stdio.h>

void
affiche_avec_signe_avec_else (long nombre)
{
  if (nombre < 0)
    {
      putchar ('-');
      /* Dans la ligne suivante je fais - : c'est à dire,
         la soustraction me donne un résultat plus grand
         de 48 (le nombre est négatif). */
      putchar (48 /* le code ASCII de '0' */ - nombre);
    }
  else
    /* Ici je n'affiche pas '-' et je ne change pas de
       signe. */
    putchar (48 /* le code ASCII de '0' */ + nombre);
}

void
affiche_avec_signe (long nombre)
{
  /* Si le nombre est négatif, affiche «-» et change-le
     du signe. */
  if (nombre < 0)
    {
      putchar ('-');
      nombre = - nombre;
    }

  /* Affiche le nombre en tout cas: si en origine le nombre
     était négatif, maintenant il a été changé de signe: donc
     ici j'ai toujours un nombre non négatif à afficher. */
  putchar (48 /* le code ASCII de '0' */ + nombre);
}

/*
Une traduction Python de affiche_avec_signe, en imaginant
d'avoir la fonction putchar en Python:

def affiche_avec_signe (nombre):
  if nombre < 0:
    putchar ('-')
    nombre = - nombre

  putchar (48 + nombre)
*/

int
main (void)
{
  affiche_avec_signe (9);
  putchar ('\n');
  affiche_avec_signe (0);
  putchar ('\n');
  affiche_avec_signe (-1);
  putchar ('\n');
  return 0;
}
