Salida del programa C | conjunto 22

Prediga la salida de los siguientes programas en C.
Pregunta 1:

C

#include<stdio.h>
 
int main()
{
    enum channel {star, sony, zee};
    enum symbol {hash, star};
 
    int i = 0;
    for(i = star; i <= zee; i++)
    {
        printf("%d ", i);
    }
 
    return 0;
}

Producción: 

compiler error: redeclaration of enumerator 'star'

En el programa anterior, la constante de enumeración ‘estrella’ aparece dos veces en main(), lo que provoca el error. Una constante de enumeración debe ser única dentro del ámbito en el que se define. El siguiente programa funciona bien e imprime 0 1 2 ya que las constantes de enumeración obtienen automáticamente los valores a partir de 0. 

C

#include<stdio.h>
 
int main()
{
    enum channel {star, sony, zee};
 
    int i = 0;
    for(i = star; i <= zee; i++)
    {
        printf("%d ", i);
    }
 
    return 0;
}

Producción:  

0 1 2

Pregunta 2:

C

#include<stdio.h>
 
int main()
{
    int i, j;
    int p = 0, q = 2;
 
    for(i = 0, j = 0; i < p, j < q; i++, j++)
    {
      printf("GeeksforGeeks\n");
    }
 
    return 0;
}

Producción: 

GeeksforGeeks
GeeksforGeeks

La siguiente es la expresión principal a considerar en el programa anterior. 

C

i < p, j < q

Cuando dos expresiones están separadas por comas, la primera expresión (i < p) se ejecuta primero. El resultado de la primera expresión se ignora. Luego se ejecuta la segunda expresión (j < q) y el resultado de esta segunda expresión es el resultado final de la expresión completa (i < p, j < q). El valor de la expresión ‘j < q’ es verdadero para dos iteraciones, por lo que obtenemos «GeeksforGeeks» dos veces en la pantalla. Vea esto para más detalles.
Escriba comentarios si encuentra que alguna de las respuestas/explicaciones es incorrecta, o si desea compartir más información sobre los temas discutidos 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 *