Skocz do zawartości

Problem z funkcją scanf


smmsz1

Pomocna odpowiedź

Witam, chciałem napisać prosty program do obliczania wartości pierwiastka w języku C, który ma obliczać pierwiastek liczby wymiernej. Kod prezentuje się tak:
 

#include<stdio.h>
#include<math.h>
double number;
double sqr_number;
int main()
{
printf("Podaj liczbe wymierna: ");
scanf("%f",&number);
printf("%f\n",number);
sqr_number=sqrt(number);
printf("%f",sqr_number);
return 0;
}

Niestety kiedy w konsoli wpisuję jakąś wartość zmiennej, program nie aktualizuje tej zmiennej, więc pozostaję ona zawsze równa 0. Przykład działania:
image.png.edf9b224d589a117ffb87dd63f9be19d.png

Co robię nie tak?

Link do komentarza
Share on other sites

A co się stanie jak podasz liczbę: 4,5?

Czy problemem nie jest czasem, że w systemie separator oddzielający dziesiętne części liczby masz ustawiony na przecinek a nie kropkę?

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.