Bonsoir je suis débutant en C (J'en fais que depuis septembre étant étudiant en génie électrique) et j'ai fait un programme qui affiche n termes de la suite de conway en C.
Le programme fonctionne correctement (enfin il en à l'air ^^) mais le compilateur m'indique un Warning et j'aimerais savoir pourquoi et comment corriger cela? :/
Voici l'avertissement en question:
http://img84.imageshack.us/img84/6277/43571358hi7.jpg
De plus je tiens a signaler que j'ai eu de la chance pour faire fonctionner le programme, au début mon programme ne fonctionnait pas, j'avais des erreurs de type dans les arguments de ma fonction....puis j'ai mis des pointeurs (un peu au hasard en testant et aussi en fonction des messages du compilateur.
Tout ça pour en venir à ma deuxième question: Est-on obligé de passer par des pointeurs pour faire une fonction qui retourne une chaine de char?
Voici ma fonction:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| char* conway(char* chaine1)
{
char chaine2[999999] = {'0'};
chaine2[999998] = chaine1[99998] = '\0';
int compteur, position = 0, c,t = 0;
c = chaine1[0];
while ((chaine1[position] != 0) || (chaine1[position] != '\0'))
{
compteur = '0';
while (chaine1[position] == c)
{
compteur++;
position++;
}
chaine2[t] = compteur;
t++;
chaine2[t] = c;
t++;
if (chaine1[position] !=0) c = chaine1[position];
}
return (chaine2); |
et l'endroit où j'appelle cette fonction:
strcpy(chaine1,conway(chaine1));
Est ce que ce code est correct? 
Voilà je remercie d'avance l'âme charitable qui pourra m'aider
Partager