Retour d'une variable locale
Bonjour à tous,
Je m'étonne que le code suivant ne produise pas même un warning et fonctionne comme prévu.
Code:
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 26 27 28
| #include <stdio.h>
const char* month(int m)
{
const char* month[] =
{
"Janvier",
"Fevrier",
"Mars",
"Avril",
"Mai",
"Juin",
"Juillet",
"Aout",
"Septembre",
"Octobre",
"Novembre",
"Decembre"
};
return month[m-1];
}
int main()
{
printf("%s\n", month(4));
return 0;
} |
Depuis quand c'est autorisé de renvoyer un pointeur sur une donnée locale ? Oo