Maison  >  Article  >  Les appels de fonction peuvent-ils être imbriqués ?

Les appels de fonction peuvent-ils être imbriqués ?

藏色散人
藏色散人original
2021-01-14 10:00:1522397parcourir

Les appels de fonction peuvent être imbriqués, mais les définitions de fonction ne peuvent pas être imbriquées, car en langage C, les définitions de fonction sont parallèles et indépendantes les unes des autres, ce qui signifie que lorsqu'une fonction est définie, le corps de la fonction ne peut pas contenir la définition. d'une autre fonction, c'est-à-dire que les fonctions ne peuvent pas être des définitions imbriquées, mais elles peuvent être des appels imbriqués.

Les appels de fonction peuvent-ils être imbriqués ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version C18, ordinateur Dell G3.

En langage C, les appels de fonction peuvent être imbriqués, mais les définitions de fonctions ne peuvent pas être imbriquées.

ne peut pas être une définition imbriquée, c'est-à-dire

function a(){
    function b(){
 }
}

Il est faux de définir la fonction b à l'intérieur d'une fonction, la fonction b ne peut être définie qu'en dehors d'une fonction comme celle-ci

function a(){}
function b(){}

peut être imbriqué Set call, c'est-à-dire que

function a (){
    b();
}

peut appeler la fonction b définie dans la fonction a.

Les fonctions ne peuvent pas être imbriquées car la syntaxe n'est pas prise en charge et la fonction ne peut pas être définie dans la définition de la fonction. Les définitions de fonctions en langage C sont toutes parallèles et indépendantes les unes des autres. Autrement dit, lorsqu'une fonction est définie, le corps de la fonction ne peut pas contenir la définition d'une autre fonction. Autrement dit, les fonctions ne peuvent pas être des définitions imbriquées, mais elles peuvent le faire. être des appels imbriqués.

Que sont les appels de fonctions imbriqués ?

Dans le processus d'appel d'une fonction, le processus d'appel d'une autre fonction

Fonction En langage C, la définition de chaque fonction existe de manière relativement indépendante, à l'intérieur de la fonction D'autres fonctions peuvent être appelé (cela n'inclut pas la fonction main()). Ce processus appelant est appelé imbrication de fonctions (la partie définition de la fonction ne peut pas être imbriquée).

Exemple :

Trouver le plus grand commun diviseur et le plus petit commun multiple de deux entiers.

Analyse du problème

Le plus petit commun multiple de deux nombres = le produit des deux nombres/le plus grand commun diviseur des deux nombres.

La clé est donc le plus grand diviseur commun.

Carte de réflexion pour trouver le plus grand diviseur commun :

Les appels de fonction peuvent-ils être imbriqués ?

Mise en œuvre du code

#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"math.h"
int gcd(int a, int b)
{
int c;
if (a<b)//保证a的值大于b
{
c = b;
b = a;
a = c;
}
while (a != 0)
{
c = a%b;
b = a;
a = c;//把余数赋值给a,直到a=0时跳出循环,找到结果。
}
return b;
}
int lcd(int a, int b)
{
int c;
c = (a*b) / (gcd(a, b));//函数嵌套的过程
return c;
}
main()
{
int m, n;
printf("请输入两个数:");
scanf("%d,%d", &m, &n);
printf("%d和%d最大公约数为%d\n", m, n, gcd(m, n));
printf("最小公倍数为%d\n", lcd(m, n));
}

Implémentation de la fonction : Trouver le plus petit commun multiple et le plus grand commun diviseur des deux entiers 45 et 56.

Les appels de fonction peuvent-ils être imbriqués ?

Recommandé : c tutoriel vidéo

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!

Déclaration:
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