Co oznaczają wartości %d, %f podczas wypisywania tekstu?

0

Co oznaczają np. %d , %f w wypisywaniu tekstu w języku C ? Dzięki.

1

%d, etc. sluza do formatowania lancucha wyjsciowego. Na przyklad, jak maja byc wyswietlane liczby zmiennoprzecinkowe, czy cos wyswietlic jako adres, czy jako ciag znakow na przyklad. Wiecej informacji tu: http://www.cplusplus.com/reference/cstdio/printf/ masz liste z opisem i przyklad uzycia.

Edit: Jak juz mi sie strona zaladowala to dorzuce drugi link: http://en.cppreference.com/w/cpp/io/c/fprintf (IMO duzo przejrzysciej i dokladniej jest to tu opisane).

0

to jak w print dam %d to wiem że służy do pokazania na obiekt int. Ale skąd kompilator wie na który obiekt ma pokazać jak ma kilka obiektów typu int ? Może podać ktoś przykład.

2

To leci po kolei, pierwszy %# do pierwszego argumentu poza formatem, drugi do drugiego itd. To do Ciebie należy obowiązek zadbania o to, aby typy się zgadzały (dlatego tego typu funkcje formatujące są dość niebezpieczne i stale są źródłem błędów w oprogramowaniu).

0

A możecie mi powiedzieć czemu w bibliotekach c++ np. są różne wersję języka C++ np.: C++61 C++65

3

Takich na pewno nie ma. Oficjalne są C++98, C++03, C++11, C++14. Dodatkowo często mówi się o C++17 (albo C++1z) - ale jak widać jeszcze kilka lat nam do niego zostało, oraz o C++84 - prekursorze w implementacji pana Stroustrupa z roku 1984. Nie była jednak ona standardem międzynarodowym.

Dlaczego są różne wersje? Bo język ewoluuje wraz z maszynami, których działaniem ma zarządzać. Kolejne wersje oznaczone są ostatnimi dwoma cyframi roku, w którym zostały ustalone.

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