Opgaver i denne lektion   Gå til annoteret slide, hvor denne opgave er tilknyttet -- Tastaturgenvej: 'u'   Alfabetisk indeks   Kursets hjemmeside   

Opgaveløsning:
Operator prioriteter i logiske udtryk


Her er både det oprindelige program og tilføjelser, som sætter de ønskede parenteser:

#include <stdio.h>

int main(void){

  int a = 1, b = 2, c = 3;
  double x = 1.0;

  int res1, res2, res3, res4;
  int res1_equiv, res2_equiv, res3_equiv, res4_equiv;

  res1 = a > b && c < x;
  res2 = a < ! b || ! ! a;
  res3 = a + b < ! c + c;
  res4 = a - x || b * c && b / a;

  printf("res1 = %d, res2 = %d, res3 = %d,  res4 = %d \n", 
	 res1, res2, res3, res4);

  res1_equiv = (a > b) && (c < x);
  res2_equiv = (a < (! b)) || (! (! a));
  res3_equiv = (a + b) < ((! c) + c);
  res4_equiv = (a - x) || ((b * c) && (b / a));

  printf("res1 = %d, res2 = %d, res3 = %d,  res4 = %d \n", 
	 res1_equiv, res2_equiv, res3_equiv, res4_equiv);

  return 0;

}