Question du test C++ - Les bases

Écrire une fonction C++ qui retourne le plus grand de 3 entiers.

Difficile

Que renvoie le code suivant ?

int saisirEntier() {
    int n;
    cout << "Saisir un entier" << endl;
    cin >> n;
    if (n > 0) {
        return n;
    }
}

int main() {
    int n = saisirEntier();
    return 0;
    cout << "Success !" << endl;
}
Auteur: SamuelStatut : PubliéeQuestion passée 287 fois
Modifier
-2
Évaluations de la communauté
developer avatar
Obsolète
Dragon parfait
02/09/2024
No error here : https://onlinegdb.com/83niPB7ou
developer avatar
Réponse incorrecte
perso
04/10/2024
no error, the result is nothing
developer avatar
Dragon parfait
04/10/2024
Une fonction avec un type n'étant pas void doit toujours renvoyer une valeur, or ici ce n'est pas toujours le cas. À noter qu'en corrigeant cette erreur, l'exécution n'afficherait toujours pas "Success !" car cette instruction est placée après un return qui stoppe l'exécution d'une fonction. Ce n'est plus vrai ?
developer avatar
Auteur anonyme
29/08/2024
This one is wrong, it doesn't display anything since it displays the std::cout of the int function, which works without error, and then it exits directly without displaying the std::cout of the body of the main function. But there's no error! It's the behavior expected by the written code! So a, b, c and d are totaly false
developer avatar
Dragon parfait
02/09/2024
I tried running code : https://onlinegdb.com/83niPB7ou And it doesn't throw a compilation error like the author was stating. The question might be obsolete.