Fonction ft_print_reverse_alphabet

Bonsoir

J ai realise une fonction qui doit afficher l alphabet a partir de la lettre « z »

voici mon code :

#include <unistd.h>


void ft_print_reverse_alphabet (void);

void  ft_putchar  (char c)
{
write (1,&c,1);
}

int main ()

{
ft_print_reverse_alphabet ();

return 0;
}

void  ft_print_reverse_alphabet  (void)

{
char y;
y='z';
while (y>= 'a')
{
ft_putchar (y);
y--;
}
ft_putchar ('\n');
}

pendant l’exécution de mon programme j ai des point d’interrogation qui s affiche.
Quelqu’un peux me dire ce qui cloche ?

NB: excusez moi je comprends toujours pas comment afficher la coloration du code

Bonjour,

Inspire toi plutôt de ça en considérant que ta chaine de caractère est « abcdefghijklmnopqrstuvwxyz »:

#include <stdio.h>

int main()
{
char str[100], rev[100];
int t, i, j;

printf(" Entrez une chaîne de caractère :  ");
gets(str);

j = 0;
t = strlen(str);

rev[t] = '\0'; //le dernier caractère doit toujours être égale à '\0'.
for (i = t - 1; i >= 0; i--)
{
  rev[j++] = str[i];
}
rev[i] = '\0';

printf(" Chaîne de caractère après inversion = %s", rev);

return 0;

}

Après si c’est juste d’utiliser le code ascii d’un caracter:
a=65
z=91
Donc soit tu fait une boucle qui par de 91 jusque 65 et ca affiche de z à a. Ou l’inverse.
pour afficher le caractère à partir de son code ascii:
printf("%c",codeAscii); ou putchar(codeAscii);

pense d’abord à bien écrire ce que tu veux faire. En texte simple. une ligne par action.

ensuite tu ecris ton code.

en simple, fait un algorithme d’abord.

Bonsoir @Pat66,
J’ai testé ta routine sur ma machine Debian; elle affiche correctement l’alphabet à l’envers sans points d’interrogation. Quel terminal utilises-tu ? Ne forcerait-il pas les chars en caractères UTF-16 ?