Maison > développement back-end > C++ > Pourquoi mon code C # produit-il une erreur 'tous les chemins de code ne renvoie pas une valeur'?

Pourquoi mon code C # produit-il une erreur 'tous les chemins de code ne renvoie pas une valeur'?

DDD
Libérer: 2025-02-01 11:16:09
original
132 Les gens l'ont consulté

Why Does My C# Code Produce a

C # Problème du compilateur: Tous les chemins de code renvoyés par la valeur de traitement

Lorsque vous essayez de déterminer si l'entier donné peut être supprimé par chaque nombre entre 1 et 20, le développeur rencontre un message d'erreur selon lequel le contenu n'est pas des valeurs de retour des chemins de code ".

CODE CHECK

Après avoir vérifié le code suivant, l'erreur du compilateur est évidente:

Le problème ne provient que de deux instructions de retour dans le corps de la fonction. Ces instructions ne sont pas supprimées ou peuvent être supprimées par tous les nombres entre 1 et 20. Cependant, le compilateur nécessite tous les chemins d'exécution possibles de la fonction pour renvoyer la valeur.
<code class="language-c#">{
    for(int j = 1; j <= 20; j++)
    {
        if(num % j != 0)
        {
            return false;
        }
        else if(num % j == 0 && num == 20)
        {
            return true;
        }
    }
}</code>
Copier après la connexion

Solution

Afin de résoudre cette erreur, vous devez ajouter une autre instruction de retour au code pour gérer les chemins d'exécution restants. Ce chemin indique que le cycle est terminé et aucun nombre de nombres qui peuvent être supprimés de 1 à 20 ne peuvent être trouvés.

Le code suivant contient le manque d'instructions de retour pour s'assurer que tous les chemins de code possibles sont maintenant renvoyés:

La solution améliorée Description:

<code class="language-c#">{
    for(int j = 1; j <= 20; j++)
    {
        if(num % j != 0)
        {
            return false;
        }
        else if(num % j == 0 && num == 20)
        {
            return true;
        }
    }

    return true;  //添加了缺少的 return 语句,  此处应为true,表示可以被1-20整除
}</code>
Copier après la connexion
dans le code d'origine est trop strict. Ce n'est que lorsque

est égal à 20 et peut être renvoyé lorsqu'il est supprimé en même temps. Si est le multiple de 20 mais supérieur à 20, le code ne renvoie aucune valeur. Par conséquent, le code correct doit retourner par défaut une fois le cycle terminé, indiquant que le nombre peut être supprimé par chaque nombre entre 1 et 20. else if(num % j == 0 && num == 20) n'est retourné que lorsque le cycle est trouvé dans le cycle. num

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal