Nowe posty

xx Nie działa mi Team Speak 3 (13)
2020-10-29, 08:56:37
xx Mint czy Knoppix, który lepszy jako system z USB (1)
2020-10-28, 20:24:25
xx Framebuffer 640x5760 => 2560x1400. "pocięcie" pamięci framebuffer (2)
2020-10-26, 22:06:34
xx kontrola dostępu (1)
2020-10-26, 07:47:58
xx Użytkownicy należący do grupy (1)
2020-10-26, 07:44:46
xx Klawiatura nie działa po włączeniu Ubuntu (3)
2020-10-25, 19:23:34
xx Szkielet z getops (3)
2020-10-25, 15:06:20
xx 2 adresy na jednej sieciówce - brak pingu (1)
2020-10-22, 14:09:22
xx Knoppix z polską klawiaturą. Czy tak się da w ogóle? (5)
2020-10-20, 21:31:47
xx DNF autouzupełnianie (0)
2020-10-20, 18:18:23

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