user3155478
user3155478

Reputation: 1055

Make assignment within if-statement

I have the following problem

in my app i have severeal if-statements

 if ( (number >= 1 && number <= 18) && !strcmp("half1-18", _myBetCh) ) {

 }

Now I realized that I have to split this condition because I need a boolean variable after one condition

  bool success = false, 
  if(!strcmp("half1-18", _myBetCh) {
      success = true; 
      if (number >= 1 && number <= 18) {

      }
  }

Is there a workaround to this? Is it possible, for instance, to make an assignment withing the if-statement?

Upvotes: 1

Views: 85

Answers (2)

molbdnilo
molbdnilo

Reputation: 66459

It's possible, like this:

if ((success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18)

but I personally think assignments in conditions are messy and hard to read, and prefer this variation:

bool success = strcmp("half1-18", _myBetCh) == 0;  
if (success && number >= 1 && number <= 18) {
    // ...
}

Upvotes: 2

M.M
M.M

Reputation: 141648

Well, there is:

if ( !strcmp("half1-18", _myBatCh) && (success = true, number > 1 && number < 18) )

or, obviating the need for the success = false earlier

if ( (success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18 )

Your way is easier to read though, so I would consider sticking with what you've got.

Upvotes: 1

Related Questions