O operador ternário em C é outro nome para o operador condicional. As declarações condicionais são declarações de tomada de decisão baseadas no resultado da expressão. Os símbolos ‘?’ e ‘:’ são usados ​​para simbolizá-lo.

O operador ternário é nomeado pelo fato de o operador condicional trabalhar com três operandos.

Porque o ‘if-else‘ também é uma declaração de tomada de decisão, o comportamento do operador condicional é semelhante ao do ‘if-else‘ declaração.

O operador ternário é um operador de linguagem de computador que usa três operandos em vez do usual ou que os operadores máximos empregam. Ele demonstra como condensar um simples se mais quadra.

O operador ternário contém três argumentos:

  1. O primeiro é um operador de comparação.
  2. A segunda é o resultado de uma verdadeira comparação
  3. E o terceiro é o resultado de uma falsa comparação

Um operador ternário é uma ferramenta benéfica que você encontrará no código com bastante frequência. Os operadores ternários podem tornar as declarações mais concisas e fáceis de entender.

int a = 10, b = 20, c;

if (a < b) {

    c = a;

}

else {

    c = b;

}

printf("%d", c);


Em geral, o programa acima leva mais de dez linhas, mas usando o operador ternário podemos compilar e executar o programa em três linhas.

Sintaxe

doença ? value_if_true : value_if_false

A instrução é avaliada como value_if_true se a condição for correspondida e value_if_false caso contrário.

O código acima é um exemplo de uso do operador ternário.

int a = 10, b = 20, c;

c = (a < b) ? a : b;

printf("%d", c);


A saída correta do programa acima é 10

Aqui C e A mantêm o mesmo valor porque a condição a < b era verdadeira.

Lembre-se de que os argumentos value_if_true e value_if_false devem ser do tipo igual e devem ser expressões fáceis em vez de instruções completas.

O operador ternário também é conhecido como operador condicional, utiliza três operandos para realizar a operação.

A operação ternária pode ser aninhada como programas if-else

int a = 1, b = 2, ans;

if (a == 1) {

    if (b == 2) {

        ans = 3;

    } else {

        ans = 5;

    }

} else {

    ans = 0;

}

printf ("%dn", ans);

O programa acima é um exemplo fácil de instruções if-else. O mesmo programa podemos escrever usando um operador ternário aninhado.

int a = 1, b = 2, ans;

ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);

printf ("%dn", ans);


Portanto, a saída deve ser 3 em ambos os casos.

Embora o comportamento de um operador condicional e uma instrução ‘if-else seja semelhante, existem várias distinções. Vamos dar uma olhada nas distinções entre eles.

  • Um operador condicional é uma única instrução de programação, enquanto uma instrução ‘if-else é um bloco de programação com instruções entre colchetes.
  • Um operador condicional pode ser usado para atribuir um valor a uma variável, embora a instrução ‘if-else’ não possa.
  • Quando há muitas instruções, não é benéfico executá-las, no entanto, a instrução ‘if-else’ é mais apropriada.
  • Enquanto o operador ternário aninhado é mais complexo e difícil de depurar, a instrução ‘if-else’ aninhada é simples de ler e manter.

A diferença entre a instrução If-Else e o operador ternário usando código

C PROGRAMA PARA ENCONTRAR O MAIOR NÚMERO ENTRE DOIS NÚMEROS

Os programas C abaixo descobrem o maior número entre os dois números. O maior número é encontrado no primeiro programa usando expressões if-else, e o maior número é encontrado no segundo programa usando o operador ternário.

USANDO A DECLARAÇÃO SE-ELSE:

#include<stdio.h>


int main()

{

    int a,b;

    

    printf("Enter any two numbers n");

    scanf("%d%d", &a , &b);

    

    if(a>b)

    {

        printf("%d",a);

        printf(" is largest number of given numbers n");

    }

    else

    {

        printf("%d",b);

        printf(" is largest number of given numbers n");

      

    }

    return 0;

}

Resultado:

Digite quaisquer dois números

23

22

23 é o maior número de números dados

Leia mais:- Python New Line: Como imprimir sem uma nova linha em Python

USANDO O OPERADOR TERNÁRIO ENCONTRE O MAIOR NÚMERO:

#include<stdio.h>


  int main() {

    int a, b, max;


    printf("Enter any two numbers n");

    scanf("%d%d", & a, & b);

    /* Following statement replaces the whole if-else statement and makes the code more concise*/

    max = (a > b) ? a : b;

    printf("%d", max);

    printf("is the largest number of given numbers");


    return 0;

  }

Resultado:

Digite quaisquer dois números

45 33

45 é o maior número de números dados

Você deve ter notado que a saída de ambos os códigos é idêntica, mas o primeiro exemplo emprega instruções if-else, enquanto o segundo exemplo usa o operador ternário para realizar a mesma tarefa. A principal diferença entre os dois códigos é que o segundo é mais conciso que o primeiro.

Assim:

Curtir Carregando…