Maison > Article > développement back-end > A quoi sert le retour en langage C ?
"return" est utilisé pour renvoyer le résultat obtenu en exécutant le code dans le corps de la fonction après l'appel de la fonction. La forme générale d'une instruction "return" est : "return expression ;" ; il peut y avoir plusieurs instructions "return", mais une seule instruction "return" peut être exécutée à chaque fois qu'une fonction est appelée, c'est-à-dire qu'il n'y en a qu'une seule. valeur de retour.
La valeur de retour d'une fonction fait référence au résultat obtenu en exécutant le code dans le corps de la fonction après l'appel de la fonction. via la déclaration de retour.
La forme générale de l'instruction return est : return expression;
ou : return (expression);
Il est correct qu'il y ait ( ) ou non. Par souci de simplicité, ( ) n'est généralement pas écrit. Par exemple :
return max; return a+b; return (100+200);
Explication de la valeur de retour du langage C :
1) Une fonction sans valeur de retour est de type vide, représentée par void. Par exemple :
void func(){printf("http://c.biancheng.net\n");}
Une fois que le type de valeur de retour d'une fonction est défini comme void, elle ne peut plus recevoir sa valeur.
Par exemple, l'instruction suivante est fausse : int a = func();
Afin de rendre le programme lisible et de réduire les erreurs, toute fonction qui ne nécessite pas de valeur de retour doit être définie comme type vide.
2) Il peut y avoir plusieurs instructions return, qui peuvent apparaître n'importe où dans le corps de la fonction, mais une seule instruction return peut être exécutée à chaque fois qu'une fonction est appelée, il n'y a donc qu'une seule valeur de retour (quelques programmation les langues prennent en charge plusieurs valeurs de retour, telles que la langue Go). Par exemple :
//返回两个整数中较大的一个 int max(int a, int b){ if(a > b){ return a; }else{ return b; } }
Si a>b est vrai, return a sera exécuté, et return b ne sera pas exécuté s'il n'est pas vrai, return b sera exécuté et return a will ; ne soit pas exécuté.
3) Une fois que la fonction rencontre l'instruction return, elle reviendra immédiatement et toutes les instructions suivantes ne seront pas exécutées. De ce point de vue, l'instruction return a également pour fonction de mettre fin de force à l'exécution de la fonction. Par exemple :
//返回两个整数中较大的一个 int max(int a, int b){ return (a>b) ? a : b; printf("Function is performed\n"); }
Ci-dessous nous définissons une fonction pour déterminer les nombres premiers. Cet exemple est plus pratique :
#include <stdio.h> int prime(int n){ int is_prime = 1, i; //n一旦小于0就不符合条件,就没必要执行后面的代码了,所以提前结束函数 if(n < 0){ return -1; } for(i=2; i<n; i++){ if(n % i == 0){ is_prime = 0; break; } } return is_prime; } int main(){ int num, is_prime; scanf("%d", &num); is_prime = prime(num); if(is_prime < 0){ printf("%d is a illegal number.\n", num); }else if(is_prime > 0){ printf("%d is a prime number.\n", num); }else{ printf("%d is not a prime number.\n", num); } return 0; }
prime() est une fonction utilisée pour trouver des nombres premiers. . Un nombre premier est un nombre naturel et sa valeur est supérieure ou égale à zéro. Une fois que la valeur transmise à prime() est inférieure à zéro, cela n'a plus de sens et on ne peut pas déterminer s'il s'agit d'un nombre premier. une fois que la valeur du paramètre n est détectée comme étant inférieure à 0, utilisez l'instruction return pour terminer plus tôt la fonction. L'instruction
return est le seul moyen de mettre fin à une fonction plus tôt. Return peut être suivi d'une donnée, indiquant que les données sont renvoyées en dehors de la fonction ; return peut également être suivi d'aucune donnée, indiquant que rien n'est renvoyé et n'est utilisé que pour terminer la fonction.
Modifiez le code ci-dessus pour que return ne soit suivi d'aucune donnée : #include ade979de5fc0e1ca0540f360a64c230b
void prime(int n){ int is_prime = 1, i; if(n < 0){ printf("%d is a illegal number.\n", n); return; //return后面不带任何数据 } for(i=2; i<n; i++){ if(n % i == 0){ is_prime = 0; break; } } if(is_prime > 0){ printf("%d is a prime number.\n", n); }else{ printf("%d is not a prime number.\n", n); } } int main(){ int num; scanf("%d", &num); prime(num); return 0; }
La valeur de retour de prime() est nulle, et return ne peut pas être suivi. Pour toute donnée, écrivez simplement un point-virgule directement.
Tutoriel recommandé : "Langage C"
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!