Fonction ne retournant rien, mais l'affichage marche...
2 participants
Page 1 sur 1
Fonction ne retournant rien, mais l'affichage marche...
Bonjour, sur un forum, j'ai découvert un problème assez étrange, je dispose de cette fonction (qui compile avec des warnings), et qui n'est censé rien renvoyer, il retourne pourtant la bonne réponse par miracle, bien sur j'ai changé ma chaine de caractère et il m'affiche le bon résultat quelle que soit la chaine de caractère, d'où pourrait venir ce miracle?
merci d'avance pour vos réponses.
- Code:
#include <stdio.h>
#include <stdlib.h>
long longueur(const char chaine[]);
int main(void)
{
char chaine[] = "Bonjour";
printf(chaine);
printf("\nLongueur de la chaine:%ld\n",longueur(chaine));
return 0;
}
long longueur(const char chaine[])
{
long taille = 0;
while(chaine[taille] != '\0')
{
taille++;
}
}
merci d'avance pour vos réponses.
Jaloyan1- Messages : 6
Date d'inscription : 30/09/2008
Re: Fonction ne retournant rien, mais l'affichage marche...
Comme l'indique un compilateur bien réglé :Jaloyan1 a écrit:Bonjour, sur un forum, j'ai découvert un problème assez étrange, je dispose de cette fonction (qui compile avec des warnings), et qui n'est censé rien renvoyer, il retourne pourtant la bonne réponse par miracle, bien sur j'ai changé ma chaine de caractère et il m'affiche le bon résultat quelle que soit la chaine de caractère, d'où pourrait venir ce miracle?
- Code:
-------------- Build: Debug in hello ---------------
Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c: In function `longueur':
C:\dev\hello\main.c:23: warning: control reaches end of non-void function
Output size is 18.57 KB
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 1 warnings
Chez moi, le résultat est :
- Code:
Bonjour
Longueur de la chaine:7
Process returned 0 (0x0) execution time : 0.114 s
Press any key to continue.
Je rappelle que pour un code soit correct, il faut d'abord et avant tout qu'il soit débarrassé de tout comportement indéterminé. Ce n'est qu'après que l'on peut juger de la pertinence de son comportement.
Ce code est donc faux et doit être corrigé.
Dernière édition par -ed- le Sam 13 Juin 2009 - 10:24, édité 2 fois (Raison : complément)
Re: Fonction ne retournant rien, mais l'affichage marche...
d'accord merci beaucoup de ta réponse.
Jaloyan1- Messages : 6
Date d'inscription : 30/09/2008
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|