Dans la bibliothèque standard C, les noms d'en-tête se terminent par un .h
suffixe:
stdio.h
En C ++, ces noms d'en-tête sont disponibles sous une forme alternative, avec un c
préfixe à la place:
cstdio
Écrivez une fonction qui convertit le premier formulaire en deuxième. Vous pouvez effectuer la conversion sur place ou laisser la chaîne d'origine intacte et renvoyer une nouvelle chaîne. Quelle que soit la sensation naturelle dans la langue de votre choix.
Le code doit être compilé / interprété sans erreur. Les avertissements du compilateur sont acceptables.
Voici votre solution de base C. Il contient 70 caractères et génère un avertissement concernant strlen
:
void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';}
La solution la plus courte (mesurée en nombre de caractères) l'emporte.
Mise à jour: si la langue de votre choix ne prend pas en charge les fonctions, des programmes entiers sont également acceptables.
Mise à jour: Comme suggéré par FUZxxl, voici une liste complète des fichiers d'en-tête dans la bibliothèque standard C:
assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h
Plus précisément, il n'y a aucun nom d'en-tête contenant plusieurs points.