[C] Pętle zagnieżdżone


(Bonzer Kk) #1

Witam.

#include 

#define RZEDY 6

#define ZNAKI 6

int main(void)

{

    int rzad;

    char ch;


    for (rzad = 0; rzad < RZEDY; rzad++)

    {

        for (ch = 'A'; ch < ZNAKI; ch++)

            printf("%c", ch);

        printf("\n");

    }

    return 0;

}

Czemu to nie chce zadziałać (Pokazuje się pusta konsolka)? Jak zamienie dane na liczby i pozmieniam konwertory to "program" działa.


(Sawyer47) #2

Warunek przerwania wewnętrznej pętli jest zły. Albo używasz licznika typu int i ma wartości np. 0..6, albo licznika typu char i wtedy niech przyjmuje wartości 'A' .. 'G'. Porównanie 'A' < ZNAKI zawsze zawodzi, bo kod 'A' jest większy od liczby 6.


(Bonzer Kk) #3

Dzięki wielkie za pomoc, już rozumiem swój błąd :wink: