Nowe posty

xx Apache2 i twarde https (3)
Wczoraj o 15:53:43
xx Czy istnieje emulator terminala który zapamieta komendy na jakiejś liście? (9)
2020-05-23, 17:04:57
xx RTLinux wybór dystrybucji (0)
2020-05-23, 15:42:54
xx Problem z instalacją Ubuntu na bootowalnym pendrajwie (9)
2020-05-22, 15:08:12
xx Ubuntudde 20.04 LTS nie działa Lightdm (8)
2020-05-22, 09:16:42
xx [Gra za darmo] GTA5 (1)
2020-05-20, 21:49:26
xx Marketing (1)
2020-05-13, 08:00:41
xx Polecenia Debian (1)
2020-05-10, 19:58:54
xx Uruchamianie pliku z każdego katlogu (2)
2020-05-10, 19:23:33
xx grafika w jadrze (1)
2020-05-10, 08:18:46

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