Nowe posty

xx Zmiana części pliku tekstowego (sed?) (0)
Dzisiaj o 00:24:05
xx Problem z uruchomieniem Kali Linux! (6)
Wczoraj o 18:06:29
xx postfix otrzymane emaile from z mojej domeny (1)
2019-11-15, 13:27:39
xx Prawy przycisk myszy - > Nowy plik (4)
2019-11-14, 21:35:55
xx Konto root i crontab backupu (2)
2019-11-13, 22:51:23
xx Najlepsze gry na Androida według Was (3)
2019-11-13, 14:04:31
xx jak w C++ robić operacje na pieniądzach (7)
2019-11-13, 14:00:35
xx [C++] Do czego potrzebny jest czas kompilacji (1)
2019-11-13, 13:57:53
xx chrome - urządzenie audio (4)
2019-11-10, 12:33:43
xx PORADNIK ! [Poszukiwanie bledow] (1)
2019-11-09, 17:54:50

Autor Wątek: Deklaracja zmiennej typu float, double.  (Przeczytany 4449 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Deklaracja zmiennej typu float, double.
« dnia: 2007-08-28, 16:14:13 »
Witam mam pytanie.Może jest banalne ale dopiero zaczynam naukę C.
Otóż nie wiem dlaczego ale kiedy deklaruję zmienna typu float taką komendą: float zmienna=1.5;
a później chcę jej wartość wyświetlić na ekranie komendą: printf("%d", zmienna);
to w wyniku zawsze dostaję zero ( 0 ).to samo dotyczy zmiennej typu double.mam system debian i uzywam kompilatora gcc.

Offline Grzegorz Świtkowski

  • Users
  • Guru
  • *****
  • Wiadomości: 516
    • Zobacz profil
Deklaracja zmiennej typu float, double.
« Odpowiedź #1 dnia: 2007-08-28, 16:56:27 »
Specyfikator %d służy do wyświetlania liczb całkowitych (int, char...). Próbując wyświetlić liczbę zmiennoprzecinkową zostanie ona niejawnie skonwertowana do typu całkowitego. Do wyświetlania tego rodzaju liczb służy specyfikator %f. Por man 3 printf

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Deklaracja zmiennej typu float, double.
« Odpowiedź #2 dnia: 2007-08-28, 17:07:10 »
Dziekuję.właśnie chciałem odpisać że juz znalazłem odpowiedz :). Aby wyświetlić liczbę zmiennoprzecinkową można też użyć formantu %g.
Pozdrawiam:)