Salida de programas C | Set 58 (operadores)

Requisito previo: Operadores en C

P.1 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    printf("value is = %d", (10 ++));
    return 0;
}

Opciones
a) 10
b) 11
c) error de tiempo de compilación
d) error de tiempo de ejecución

ans: c

Explicación: lvalue requerido como operador de incremento opera solo en variables y no en valores constantes.

P.2 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int i = 0, j = 1, k = 2, m;
    m = i++ || j++ || k++;
    printf("%d %d %d %d", m, i, j, k);
    return 0;
}

Opciones

a) 1 1 2 3
b) 1 1 2 2
c) 0 1 2 2
d) 1 2 3 3

ans:- b

Explicación: una vez que el valor de la expresión es verdadero en OR, la última expresión no se evaluará, por lo tanto, j = 1 se asigna a m.

P.3 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int y = 10;
    if (y++ > 9 && y++ != 10 && y++ > 11)
        printf("%d", y);
    else
        printf("%d", y);
    return 0;
}

Opciones
a) 11
b) 12
c) 13
d) ninguna de las anteriores

ans: c

Explicación: y se usa el operador (&) para que se evalúe la expresión completa, incluso si la primera parte es verdadera.

P.4 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int i = 10;
    i = !i > 14;
    printf("i=%d", i);
    return 0;
}

Opciones
a) i=1
b) i=0
c) i=10
d) ninguna de estas

ans:- b

Explicación: Not oprerator(!) tiene más precedencia que mayor que operator(>), por lo que 0>14 se evalúa como falso.

P.5 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int a = 3, b = 5, c, d;
    c = a, b;
    d = (a, b);
    printf("c=%d d=%d", c, d);
    return 0;
}

Opciones
a) c=3 d=5
b) c=5 d=5
c) no se puede determinar
d) ninguna de estas

ans : a

Explicación: la precedencia de ‘(‘ es mayor en comparación con ‘, ‘, por lo que primero se asigna a en c y luego b en d.

P.6 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int y = 10;
    if (y++ > 9 && y++ != 11 && y++ > 11)
        printf("%d", y);
    else
        printf("%d", y);
    return 0;
}

Opciones
a) 11
b) 12
c) 13
d) 14

ans: b

Explicación: y++!=11 se vuelve falso, por lo que no se evaluará y++>11.

Este artículo es una contribución de Pragya Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *