Programa C para mostrar un error de código inalcanzable

Aquí, veremos cómo mostrar errores de código inalcanzables usando el programa C. Las declaraciones inalcanzables son declaraciones que no se ejecutarán durante la ejecución del programa. Estas declaraciones pueden ser inaccesibles debido a las siguientes razones:

  1. Declaración de devolución antes de declaración de impresión.
  2. Bucle infinito antes de las declaraciones. 
  3. Declaraciones después de las declaraciones de continuar. 
  4. Condiciones falsas en sentencias if.

Comencemos discutiendo cada uno de estos escenarios en detalle.

1. Estado de cuenta devuelto antes del estado de cuenta impreso

Cuando se ejecuta una instrucción de retorno, detendrá la ejecución del programa, por lo que la segunda instrucción printf no se ejecutará debido a un error de código inalcanzable. En el siguiente ejemplo, se puede observar que la primera declaración printf imprimirá la salida, pero después de eso, está la declaración de retorno. 

A continuación se muestra el programa C para demostrar un error de código inalcanzable cuando una declaración de devolución está presente antes de la declaración de impresión:

C

// C program to demonstrate 
// unreachable code error
#include <stdio.h>
  
// Driver code
int main() 
{
    printf("geeks for geeks"); 
    return 0; 
    printf("gfg");
}

Producción: 

geeks for geeks
prog.c: error: unreachable statement 
printf("gfg")

2. Bucle infinito antes de las declaraciones: en el siguiente programa en C, aunque el valor de a es igual a 2, no imprimirá la salida debido a la declaración de interrupción. La instrucción break detendrá la ejecución y saldrá del bucle.

C

// C program to implement
// the above approach
#include <stdio.h>
  
// Driver code
int main() 
{
  int a = 2;
  for (;;) 
  {
    if (a == 2)
    {
      break;
        
      // It will never execute, so
      // same error will be there. 
      printf("GeeksforGeeks"); 
    } 
  }
  return 0;
}

Producción: 

prog.c: error: unreachable statement 
printf("GeeksforGeeks"); 

3. Declaraciones después de las declaraciones de continuación: El siguiente código muestra el ejemplo de la declaración de continuación. En el código, hay una declaración de continuación, la declaración de continuación transfiere el control al comienzo del bucle. Por lo tanto, no ejecutará las declaraciones debajo de la declaración de continuación. 

C

// C program to implement
// the above approach
#include <stdio.h>
  
// Driver code
int main() 
{
  for (int i = 0; i < 5; i++)
  {
    continue;
    printf("GeeksforGeeks");
  }
  return 0;
}

Producción: 

prog.c: error: unreachable statement
printf("GeeksforGeeks"); 

4. Condiciones falsas en declaraciones if:

Ejemplo 1:   El valor de sqrt(2) será 1,414. si la declaración verifica la condición, el valor de X no es mayor que 5, por lo que no se ingresará dentro de la declaración if y no ejecutará la declaración X++.

C

// C program to show the 
// unreachable error
#include <math.h>
#include <stdio.h>
  
// Driver code
int main()
{
  // The value of sqrt(2) is 1.414
  double X = sqrt(2);
    
  // 1.414>5 condition false so it 
  // will not be entered inside the 
  // if statement
  if (X > 5) 
  {
    /* unreachable code */
    X++;
  }
  return 0;
}

Producción: 

prog.c: error: unreachable statement
X++; 

Ejemplo 2: en el siguiente código, la instrucción printf nunca se ejecutará porque el valor de N será 3 y nunca será igual a 4. Por lo tanto, la instrucción if no se ingresará en el bloque interno de if.

C

// C program to show the 
// unreachable error
#include <stdio.h>
  
// Driver code
int main()
{
  // The value of N is 3
  int N = 2 + 1;
    
  // 3==4 false so it will not be 
  // entered inside the if statement
  if (N == 4) 
  {
    /* unreachable code */
    printf("equal");
  }
  return 0;
}

Producción:  

prog.c: error: unreachable statement
printf("equal");   

Publicación traducida automáticamente

Artículo escrito por laxmigangarajula03 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 *