Impressão de um array. Escreva uma função recursiva printArray que apanhe um array e o tamanho do array como argumentos, imprima o array e não retorne nada. A função deverá encerrar o processamento e retornar quando receber um array de tamanho zero.

Passo 1

Fala aí, blz?

Hoje vamos para mais um probleminha, sem mais delongas…

Inicialmente começamos nosso programa incluindo a biblioteca padrão em C e em seguida definimos uma constante para nos auxiliar com a declaração do nosso array. E depois fazemos o protótipo da função printArray.

Olhando agora para o main, temos a declaração do nosso array e das demais variáveis. Após a declaração das variáveis é solicitado ao usuário o tamanho do array. Logo que o usuário digita o tamanho, essa informação passa a ser guardada na variável size. Depois é feito o preenchimento desse array por meio do laço for, e por fim temos o chamamento da nossa função printArray.

Tudo bem até aqui?

Passo 2

Continuemos…

Agora vamos para a dita cuja, função printArray.

Como a função não deve retornar nada então a classificamos como void. A função printArray tem como parâmetros o próprio array, uma variável de controle index e o tamanho informado pelo usuário, lembra? blz.. de início estabelecemos uma condição para que a função não se torne um loop infinito, uma vez que se trata de uma função recursiva. Dessa forma, estabeleceu- se que se a variável de controle for maior ou igual ao tamanho do array ou o tamanho do array for 0, a execução deve encerrar. E enquanto nenhuma dessas condições se tornar verdadeira a função chamará a si mesma, por isso é uma função recursiva.

Passo 3

E quando testamos nosso programinha temos :

Bons Estudos! Um abraço :)

Resposta