Skocz do zawartości
jkotor

[c] Pętla Za Pomocą Preprocesora?

Rekomendowane odpowiedzi

Witam, uczę się właśnie do kolokwium z języka C i mam problem z jednym zadankiem. Brzmi ono:

 

Napisz jednoargumentowe makro POWTORZ, które powoduje wykonanie bezpośrednio następującej po makrze instrukcji dokładnie n razy, gdzie n jest argumentem makra.

 

Czyli ja to rozumiem tak:

Jak napiszę w programie

...POWTORZ(5) printf("Hello\n");...

to powinno się wyświetlić 5 razy Hello.

 

Uprzedzając: mam książkę ANSI C i wiem jak jej używać, forum przeszukałem i nie znalazłem nic co by mi mogło pomóc. Wiem jak używać 'difajnów' z argumentami, ale nie wiem jak to zrobić w ww. przypadku, gdzie tak jakby instrukcja jest argumentem difajna, ale poza nawiasami (nie wiem czy dobrze to określiłem ;)). Z góry dzięki za pomoc. ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

#define POWTORZ(n) { for(int i=0; i<n; i++) }

powinno działać :)... ewentualnie pokombinuj z { }...

 

POWTORZ(5)printf("ale czad\n");
wygeneruje coś takiego

for(int i=0; i<5; i++)printf("ale czad\n");

wg mnie.. czysta głupota żeby takie makra w ogóle robić...

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...