Defekt? Ale gdzie? 3

alt
Błąd goni błąd. Znajdź następny. 

 

Poniższy fragment kodu C zawiera bardzo ciekawy błąd.

 

  int x = 1;
  int y = 2;
  if (x = y) {
      printf("x is %d and y is %d\n", x, y);
  }

 

Znajdź go!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Odpowiedź: instrukcja if uruchomi się dla dowolnego y. Nie uruchomi się jedynie dla y = 0. Błąd polega na tym, że zamiast sprawdzenia czy x równa się y zrobiono przyrównanie y do x.

Za: http://en.wikipedia.org/wiki/%3D%3D#Equality

 

Najbliższe terminy szkoleń

 

17-18 października - Katowice

Testowanie wydajności


17-18 października - Kraków

Administracja JIRA na poziomie projektowym


24-25 października - Kraków

Od Testera do Managera


24-25 października - Kraków

Dobry Przypadek Testowy - Laboratorium

 

Partnerzy

Narzędzia testerskie