Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C Recursão

C Recursão


Neste tutorial, você aprenderá a escrever funções recursivas em programação C com a ajuda de um exemplo.

Uma função que chama a si mesma é conhecida como função recursiva. E, esta técnica é conhecida como recursão.


Como a recursão funciona?

void recurse()
{
    ... .. ...
    recurse();
    ... .. ...
}

int main()
{
    ... .. ...
    recurse();
    ... .. ...
}



A recursão continua até que alguma condição seja atendida para evitá-la.

Para evitar a recursão infinita, a instrução if...else (ou abordagem semelhante) pode ser usada onde uma ramificação faz a chamada recursiva e outra não.

Exemplo:soma de números naturais usando recursão

#include <stdio.h>
int sum(int n);

int main() {
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
    return 0;
}

int sum(int n) {
    if (n != 0)
        // sum() function calls itself
        return n + sum(n-1); 
    else
        return n;
}

Saída
Enter a positive integer:3
sum = 6


Inicialmente, o sum() é chamado do main() função com número passado como argumento.

Suponha que o valor de n dentro de sum() é 3 inicialmente. Durante a próxima chamada de função, 2 é passado para o sum() função. Este processo continua até n é igual a 0.

Quando n for igual a 0, o if a condição falha e o else parte é executada retornando a soma dos inteiros para o main() função.

Vantagens e desvantagens da recursão


A recursão torna o programa elegante. No entanto, se o desempenho for vital, use loops, pois a recursão geralmente é muito mais lenta.

Dito isto, a recursão é um conceito importante. É frequentemente usado em estrutura de dados e algoritmos. Por exemplo, é comum usar a recursão em problemas como travessia de árvore.

Linguagem C

  1. C# Hello World - Seu primeiro programa em C#
  2. Palavras-chave e identificadores C#
  3. Variáveis ​​C# e tipos de dados (primitivos)
  4. Operadores C#
  5. Operadores C# Bitwise e Bit Shift
  6. Entrada e saída básica em C#
  7. Expressões, instruções e blocos em C# (com exemplos)
  8. Comentários em C#
  9. Instrução C# switch
  10. C# ternário (? :) Operador