
ronn [ moralizator ]
Programowanie w C. Rebusy?
Mam pewien problem. Czy moglby mi ktos wytlumaczyc jak rozwiazywac takie 'zadania' ?
#include<stdio.h>
char *c[] =
"DRUT",
"LUKA",
"RANT",
"BOHR"
;
char **cp[] = c+3, c+2, c+1, c;
char ***cpp = cp;
main(void)
printf(" %s", **++cpp + 3);
printf(" %s", *cpp[-1] + 3);
printf(" %s", *--*++cpp + 2);
printf(" %s", cpp[-1][-1] + 2);
printf("\n");
return 0;
Co wydrukuje na ekranie taki program?
Odpowiedz to : TRUTKA
Nie wiem co oznaczaja np dwie '*' po sobie? albo takie *--*++ itp.

ronn [ moralizator ]
^^
MOD [ Generaďż˝ ]
** oznacza wskaznik do wskaznika
po instrukcji char **cp[] = ‹c+3, c+2, c+1, c›;
cp wskazuje na cos takiego ["BOHR","RANT","LUKA","DRUT"]
cpp wskazuje na cp cyzli wskazuje na BOHR
--cpp przeniesienie wskaznika do tylu
printf(" %s", **++cpp + 3); ++cpp przeniesienie wskaznika o pole do przodu przed wypisaniem zmiennej
wypisze elementy wyrazu RANT od czwartej litery czyli T
printf(" %s", *cpp[-1] + 3);
wypisze elementy wyrazu BOHR od czwartej litery czyli R
printf(" %s", *--*++cpp + 2);
nie wiem czemu tu skaczemy do wyrazu DRUT moze powinno byc *++*++cpp
wypisze elementy wyrazu DRUT od trzeciej litery czyli UT
printf(" %s", cpp[-1][-1] + 2);
wypisze elementy wyrazu LUKA od trzeciej litery czyli KA
to takie moje zgadywanie i w miare sie zgadza ,najlepiej skompiluj i się pobaw oraz znajdz kurs c++
ronn [ moralizator ]
Dzieki wielkie. Teraz pokombinuje w taki sposob z reszta zadan.
Sprawdzalem
printf(" %s", *--*++cpp + 2);
I ten wiersz, jest dokladnie taki.
To jest C, ale wskazniki sa praktycznie identyczne z tymi w C++
W innych zadaniach mam jeszcze ***. Skoro ** to wskaznik do wskaznika, to 3 gwiazdki (asteriksy?) oznaczaja wskaznik, do wskaznika wskaznika?
MOD [ Generaďż˝ ]
Tak,*** to wskaznik to wskaznika wskaznika.

ronn [ moralizator ]
Dzieki. Swoja droga to te testy sa bez sensu. Kto pisze takie nieczytelne programy?
MOD [ Generaďż˝ ]
U mnie na I roku przerabialismy programowanie w C++ na cwiczeniach na papierze i trzeba sie bylo nauczyc wszystkich tych krzaczków na pamięć (kolo pisalismy na kartce).Niezbyt mi się to podobało.
Tutaj niżej są opisane dokladniej wskazniki:

ronn [ moralizator ]
Wlasnie, na papierze :( Ale w tym wypadku musi tak byc, bo skompilowanie daloby odpowiedz :)
Dzieki za link.