if (i%2==0) (?) Wytłumaczenie znaczenia

0

hejka,
ogarniam już temat całkiem nieźle włącznie z pętlami ale jedna rzecz mnie gnębi i nie wiem jak to zinterpretować/poszukać..

Napisałem prosty program:

#include <stdio.h>
int main()
{
int i;
for (i = 1 ; i <= 50 ; ++i) {
     if (i%3==0) continue ;
     printf ("%d\n", i);
  }
return 0;
}

Czyli program od 1 do 50, który nie uwzględnia liczb podzielnych przez 3. Chodzi mi właśnie o te: if (i%3==0) continue;
Jak to się nazywa? wiem że jest tam operator przypisania == ale.. to całe wyrażenie? Jak ja mam to googlować żeby znaleźć o tym więcej? Chciałbym zrozumieć metodykę wykonywania tego "czegoś".

2

Jak to się nazywa? wiem że jest tam operator przypisania == ale.. to całe wyrażenie?

Po pierwsze, nie przypisania (=), lecz porównania (==).
Po drugie - całe wyrażenie czyli " if (i%3==0) continue ;"? Jeśli tak, to na polski:
Jeżeli (if) reszta z dzielenia (%) liczby spod zmiennej "i" przez 3 jest równa (==) 0, pomiń obecny krok pętli i przejdź do następnego (continue).

Prawdę mówiąc nie kojarzy mi się by to miało jakąś specjalną nazwę. Wyłączając porównanie reszty z dzielenia do jakiejś wartości i natychmiastowe przejście do następnego kroku pętli.

2
Brunatny Kot napisał(a):

hejka,
ogarniam już temat całkiem nieźle włącznie z pętlami ale jedna rzecz mnie gnębi i nie wiem jak to zinterpretować/poszukać..

no to faktycznie nieźle XD

if (i%3==0) continue;
oznacza, że jeżeli reszta z dzielenia zmiennej i przez 3 jest rowna 0, czyli nie ma reszty[w ogole == to nie przypisanie a porównanie] to pętla przerywa daną iteracje i przechodzi do kolejnej, czyli jeżeli masz i = 3, to w if(3%3 == 0) jest warunkiem prawdziwym, więc instrukcja continue informuję program, że ma on nie wykonywać kolejnych instrukcji w pętli tylko przejść do następnej iteracji zgodnie z trzecim argumentem

0

% jest operatorem dzielenia modulo. Zwraca resztę z dzielenia dwóch liczb całkowitych. Dla podzielnych przez 3 reszta z dzielenia przez 3 będzie równa 0 i warunek i%3==0 będzie prawdziwy.

0

no to dzięki chłopaki XD

1 użytkowników online, w tym zalogowanych: 0, gości: 1