Execute both if and else statements in C/C++ simultaneously

Write a C/C++ program that execute both if-else block statements simultaneously.

Syntax of if-else statement in C/C++ language is:
if (Boolean expression)
    // Statement will execute only 
    // if Boolean expression is true
    // Statement will execute only if 
    // the Boolean expression is false 

Hence we can conclude that only one of the block of if-else statement will execute according to the condition of Boolean expression. But we can able to make our program so that both the statements inside if and else will execute simultaneously.

The trick is to use goto statement which provides an unconditional jump from the ‘goto’ to a labelled statement in the same function.

Below is C/C++ program to execute both statements simultaneously:-

#include <stdio.h>
int main()
  if (1) //Replace 1 with 0 and see the magic
    label_1: printf("Hello ");
    // Jump to the else statement after 
    // executing the above statement
    goto label_2;
    // Jump to 'if block statement' if 
    // the Boolean condition becomes false
    goto label_1;
    label_2: printf("Geeks");
  return 0;

Hello Geeks

Therefore both the statements of if and else block executed simultaneously. Another interesting fact can be seen that Output will always remain same and will not depend upon the whether the Boolean condition is true or false.

NOTE – Use of goto statement is highly discouraged in any programming language because it makes difficult to trace the control flow of a program, making the program hard to understand and hard to modify. As a programmer we should avoid the use of goto statement in C/C++.

This blog is contributed by Shubham Bansal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected] See your article appearing on the GeeksforGeeks main page and help other Geeks.

This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment



load comments

Subscribe to Our Newsletter