cysior Opublikowano 9 Kwietnia 2014 Opublikowano 9 Kwietnia 2014 Witam. Mam pytanie co do podstaw języka C. Obecnie piszę proste programiki, obliczenia, wyświetlanie wyników etc. int a, b, c; printf("podaj a \n"); scanf_s("%\d", &a); printf("podaj b \n"); scanf_s("%\d", &b); printf("podaj c \n"); scanf_s("%\d", &c); double delta = b*b - 4 * a*c; double pdelta = sqrt(delta); printf("Delta = %\lf", delta); Moje pytanie dotyczy specyfikatorów, dlaczego gdy w zaznaczonym miejscu mam samo "f" to program w konsoli wypisuje " Delta = ♀ " ?
Threef Opublikowano 10 Kwietnia 2014 Opublikowano 10 Kwietnia 2014 Dużo już C nie pamiętam ale wydaje mi się że nie ma backslash w formatowanie, a więc: scanf_s("%d", &a);
cysior Opublikowano 10 Kwietnia 2014 Autor Opublikowano 10 Kwietnia 2014 To prawda, mój błąd. Moje pytanie wciąż aktualne.
Konrad-GM Opublikowano 10 Kwietnia 2014 Opublikowano 10 Kwietnia 2014 "Delta = %\lf" - Kompilator C++ ma tendencje aby backslashe w łańcuchach zmieniać na inne znaki względem tego układu: http://msdn.microsoft.com/en-us/library/6aw8xdf2.aspx
Threef Opublikowano 11 Kwietnia 2014 Opublikowano 11 Kwietnia 2014 O to mi chodziło. Próbowałeś dać: printf("Delta = %f", delta); Co chciałeś uzyskać tym '\l'?
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się