Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simultaneous execution of both if and else blocks

In C or C++

if ( x )
    statement1;
else
    statement2;

For what value of x will both statements be executed?

I know we can execute if-else together like this:

if(1){
    goto ELSE;
}
else{
    ELSE:
}

Is there any way, like a value? (Which I think is not possible. Asking because someone is arguing!)

like image 533
Sadique Avatar asked Jun 13 '10 08:06

Sadique


1 Answers

for what value of x both statements will be executed??

Only in this case (on unix-like systems):

 pid_t  pid;
 pid = fork();
 if (pid == 0){
    //some code
 }
 else {
    //some code
 }

In this case both branches will be always called simultaineously (well, more or less simultaneously), but in different processes.

I know we can execute if-else together like this:

This:

if(1){
    goto ELSE;
}
else{
    ELSE:
}

is a wrong construct. You need to use something like this instead:

if ( condition) {
    //some code here
    ...
}
... //some other code here

If one branch is always called, then you don't need "else".

like image 64
SigTerm Avatar answered Oct 13 '22 19:10

SigTerm