Pętla for

0

Czy można wykonywać działania arytmetyczne wewnątrz pętli for?
Chcę przeprowadzić działanie mnożenia przez siebie kolejnych liczb i wyskakuje mi błąd "Use of unassigned local variable". Dlaczego? Co robię nie tak?

        int a;
        int b;
        int ab;

        for (a = 1, b = 1; b <= 10; a++)

            ab = a * b;         
        Console.WriteLine(+ab);
        Console.Read();
0

bo tutaj

Console.WriteLine(+ab);

moze byc nadal nie zdefiniowane. Compilator nie jest na tyle madry zeby powiedziec jaki wynik od razu bedzie mialo ab. A ze nie ma nigdzie w tym samym Scope zmiany tej zmiennej na jakas wartosc (nie licze sztucznych) to uwaza ze istnieje szansza ze ab bedzie NIEZDEFINIOWANE podczas wykonania tej funkcji co nigdy nie powinno sie zdarzyc

wystarczy zrobic

int ab = 0;
1

Pętla będzie wykonywać się w nieskończoność bo b zawsze będzie mniejsze od 10.

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