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é
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 ?
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
Questions similairesPlus de questions sur C++
4
Écrire une classe C++ avec un constructeur qui prend deux arguments.3
Quelle affirmation concernant les constructeurs est fausse ?2
Comment distinguer un paramètre d'une méthode d'un attribut de la classe en C++2
Quel type utiliser pour représenter une liste de données dont la longueur peut changer ?1
L'opérateur + a été défini pour les objets Complexe grâce à une surcharge interne.