<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d16783907\x26blogName\x3ddizzy.reed\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLACK\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://dizzyreed.blogspot.com/search\x26blogLocale\x3dpt_BR\x26v\x3d2\x26homepageUrl\x3dhttp://dizzyreed.blogspot.com/\x26vt\x3d-8558388389668329510', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>
dizzy.reed

Fatorial (Recursivo em Uma linha)

A título de informação o fatorial de um número natural n é o produto de todos os inteiros positivos menores ou iguais a n, e é escrito na forma n!, e é lido como "fatorial de n". E por definição 0! (fatorial de zero) é igual a 1 (Um).
Para o calculo do fatorial de um número, será utilizada uma função recursiva com instruções de seleções em forma reduzida, operador ternário.
Em C, o código que calcula o fatorial de 5 é apresentado a seguir.

Fatorial do numero 5 em C:
Devem ser declaradas as bibliotecas necessárias que seu compilador utiliza
int fatorial(int numero){
return numero ? numero * fatorial (numero - 1) : 1;
}
int main(){
printf("5! = %d\n",fatorial(5));
return 1;
}


Entendendo a função fatorial:

A função recebe por cópia o valor "5", mas pode receber qualquer outro valor inteiro, e retorna o fatorial deste número.

Entendendo a única linha da função fatorial:

Na primeira\ultima linha decódigo da função esta sendo utilizada uma forma reduzida dos comandos "if" e "else".
Sintaxe do comando:
<expressão> ? <verdadeiro> : <falso>

Exemplificadando:
Esta forma tem a mesma função do seguinte codigo:
if(<expressão>){
<verdadeiro>
}else{
<falso>
}
Tendo por base que, 0 (zero) representa falso, e qualquer outro numero positivo (todos os numeros maiores que zero) são verdadeiros.
Quando for passado para função o numero 0 (zero), ou seja, "fatorial(0)", sera retornado 1 (Um).