Comparações sem usar IF - ELSE em C

Publicado por Fernando Krein Pinheiro (última atualização em 10/06/2011)

[ Hits: 5.637 ]

Homepage: www.ferpinheiro.wordpress.com

Download ?.c




Nessa dica vou usar o operado " ? ". Esse tipo de operador é chamado de operador ternario pois o mesmo requer tres operando. Este pode ser usado para substituir os if-else na linguagem C.
Sua forma de funcionamento é: Exp1 ? Exp2 : Exp3 onde Exp1 é expressão1 Exp2 é expressão2 e assim por diante...
O valor de uma Expressão ? é determinada como segue: Exp1 é avaliada. Se for verdadeira, Exp2 sera avaliada e se tornara expressão ? inteira. Se Exp1 é falsa, entao Exp3 é verdadeira e se torna valor da expressão ? .

  



Esconder código-fonte

/* Autor: Fernando Krein Pinheiro
 Data: 09/03/2011
*/

#include <stdio.h>

int maior (int a, int b, int c) {
 int nmaior = a;
 
 nmaior = b>maior ? nmaior : b ;
 nmaior = c>nmaior? c : nmaior ;
 
}

int menor(int a, int b, int c) 
{
 int nmenor = a;
 nmenor = b < nmenor ? b : nmenor;
 nmenor = c < nmenor ? c : nmenor;
 return nmenor;
}

int main(){
        int a,b,c;
        printf("Digite 3 valores inteiros");
        scanf("%d %d %d",&a,&b,&c);

        printf("O maior numero é: %d\n",maior(a,b,c));
        printf("O menor numero é: %d\n",menor(a,b,c));
        return 0;
}

Scripts recomendados

Classe para manipulação de números complexos

Uptime para tempo humano

Números primos

Lista Simples em C

Constantes de barra invertida


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário