quoi de mal avec mon code? Im essayant de renvoyer une valeur de la fonction ignition_status, son non retournant. Je ne vois pas de problème dans mon code.La fonction C ne renvoie pas la valeur
#include<stdio.h>
#include<stdint.h>
const char * ignition_status();
const char *ign_st;
int main()
{
printf("%s", ignition_status(1));
return 0;
}
const char * ignition_status(int st)
{
if(st==1)
{
const char *ign_st="ON";
}
else
{
const char *ign_st="OFF";
}
return ign_st;
}
Merci ...
Votre # 'include' ne devrait-il pas avoir un nom de fichier? – Dmitri
'const char * ign_st' dans les blocs' if/else'. Cela déclare une nouvelle variable *. Qui n'existe que dans les blocs 'if/else'. Ce que vous retournez est alors le 'ign_st' global qui n'a jamais été défini. Supprimez ces 'const char *' ou déclarez-le comme une variable locale en dehors du bloc 'if/else'. Si vous faites ce dernier, mieux vaut utiliser un nom de variable différent pour ne pas le confondre avec la définition globale. – kaylum
Je suis sûr que votre code ne compile pas, non seulement ne pas retourner ce que vous attendez. Est-ce correct? – Lucio