jkotor Opublikowano 3 Czerwca 2007 Zgłoś Opublikowano 3 Czerwca 2007 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. ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 3 Czerwca 2007 Zgłoś Opublikowano 3 Czerwca 2007 (edytowane) #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 3 Czerwca 2007 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MeHow Opublikowano 9 Czerwca 2007 Zgłoś Opublikowano 9 Czerwca 2007 Bzdura, że aż boli. Nieczytelność kodu rośnie wykładniczo :] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...