instrukcja printf - analiza kodu
Ostatnio zmodyfikowano 2014-10-24 12:01
tomeklfc Temat założony przez niniejszego użytkownika |
instrukcja printf - analiza kodu » 2014-10-24 10:15:47 witajcie! Coś tutaj jest do poprawy w moim kodzie ale nie za bardzo wiem, co. Wyświetla same zera.. Polecenie: //Napisz łańcuch formatujący dla instrukcji printf wyświetlający na ekranie zmienną rzeczywistą typu double: //- z dokładnością do trzeciego miejsca po przecinku, #include <stdio.h> #include <iostream> #include <cstdio> using namespace std;
main( void ) { double i; cout << "Prosze podac liczbe rzeczywista: "; cin >> i; printf( "%10.3f", 'i' ); getchar(); }
Z góry dzięki za podpowiedzi. |
|
Monika90 |
» 2014-10-24 11:34:25 Nazwę zmiennej dałeś w apostrofach, przez to kompilator nie traktuje i jako zmiennej, tylko jako znak 'i'. A najlepiej zmień źródło z którego korzystasz przy nauce. Kurs który uczy zamiast poprawnego nadaje się tylko do kosza. |
|
Mateus. |
» 2014-10-24 11:47:03 A ja przy okazji mam pytanie. Dlaczego takie coś działa: Wydaje mnie się, że ta funkcja zwraca wartość typu int systemowi, ale co zwraca jeśli nic formalnie nie zwracamy? (Domyślam się, że 0, ale to tylko przypuszczenie). I dlaczego w ogóle taki zapis bez int jest poprawny(ja przypuszczam, że dla tej szczególnej funkcji tak jest), ale czy może zależy to od kompilatora? |
|
Monika90 |
» 2014-10-24 12:01:09 main { } nigdy nie było dozwolone w standardowym C++. Było dozwolone w standardowym C, ale od 15 lat już nie jest. To znaczy: w starych wersjach języka C, gdy nie podałeś typu funkcji lub zmiennej, to kompilator zakładał że to typ int. Niektóre kompilatory C i C++ wciąż na to pozwalają by zapewnić zgodność z kodem z poprzedniej epoki. Za to to int main { } jest w porządku, pomimo że brakuje instrukcji return. Jest to równoważne int main { return 0; } . Funkcja main jest tutaj traktowana specjalnie, w innych funkcjach kompilator nie dopisuje return 0; gdy Ty tego nie zrobisz. |
|
« 1 » |