plus généralement :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct texte
{
char* donnee;
int taille;
};
texte fct(int a, int b)
{
int i, j; // Bcl
int pos=0; // Position dans la chaine final
texte result; // Renverra le résultat
int taille_nbre=(int)log10(b)+1;// Récupère le nombre de chiffre
// Trouve la taille de la chaine
result.taille=(b-a+1)*taille_nbre + (b-a);
// Alloue la mémoire
result.donnee=(char*)malloc(sizeof(char)*(result.taille+1));
// Y'a plus qu'a remplir, parcoure chaque entier
for(i=a; i<=b; i++)
{
// Parcoure la taille du nombre
for(j=taille_nbre-1; j>=0; j--)
{
// Affiche le caractère
result.donnee[pos]=(i%((int)pow(10, j+1))/(int)pow(10, j))+'0';
// Avance dans la chaine
pos++;
}
// Avance dans la chaine si il le faut
if(i!=b)
{
result.donnee[pos]=' ';
pos++;
}
}
result.donnee[pos]='\0'; // Fin de la chaine
return result;
}
int main()
{
int a, b; // l'interval
texte chaine; // chaine
// Récupère les infos
scanf("%d", &a);
scanf("%d", &b);
// Fait le calcul
chaine=fct(a, b);
// Affiche la chaine
printf("\n%s", chaine.donnee);
system("pause");
return 0;
}

Stéph
