Nowe posty

xx Brother DCP-135 pod Ubuntu 20.04 (5)
Wczoraj o 23:31:07
xx [ServicesUI][Bonsole] Integracja z Packagekit. (1)
Wczoraj o 19:14:30
xx Propozycja recenzji (9)
Wczoraj o 19:10:12
xx KDE Connect SMS (5)
2020-09-25, 13:46:37
xx W Grubie nie pokazuje ubuntu (4)
2020-09-24, 22:10:34
xx Barwa nocy (4)
2020-09-24, 13:06:38
xx Gdańsk (2)
2020-09-21, 12:59:57
question Połączenie się z OEL 8 >> MS SQL (0)
2020-09-16, 12:05:25
xx PORADNIK ! [Poszukiwanie bledow] (2)
2020-09-15, 08:24:56
xx Po instalacji minta i tak startuje windows ... (8)
2020-09-13, 00:48:13

Autor Wątek: Deklaracja zmiennej typu float, double.  (Przeczytany 4479 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:)