Zadanie - poziom 1 lekcja 8
Ostatnio zmodyfikowano 2015-11-13 14:59
Pepe Temat założony przez niniejszego użytkownika |
Zadanie - poziom 1 lekcja 8 » 2015-11-13 00:20:03 Witam, dobrnąłem w kursie do 8 lekcji i nie rozumiem pewnej rzeczy. W zadaniu domowym trzeba poprawić ten kod:
#include <iostream> int main() { std::cout << "Liczba = " << nieznana << std::endl; return 0; }
tak, aby program wyświetlał na ekranie liczbę 123. Napisałem go na dwa sposoby, jeden działa prawidłowo, a drugi już nie. W wersji błędnej, zamiast liczby 123 wyświetla się znaczek "<". Poniżej wklejam oba kody, najpierw prawidłowy potem ten błędny. Gdyby ktoś mógł mi wyjaśnić co robię nie tak, będę bardzo wdzięczny.
Wersja prawidłowa: #include <iostream> int main() { unsigned int nieznana; nieznana = 123; std::cout << "Liczba = " << nieznana << std::endl; return 0; }
Wersja nieprawidłowa: #include <iostream> int main() { unsigned char nieznana; nieznana = 123; std::cout << "Liczba = " << nieznana << std::endl; return 0; }
|
|
carlosmay |
» 2015-11-13 05:34:53 Zmienna typu char przyjmuje pojedynczy znak. |
|
Rashmistrz |
» 2015-11-13 12:21:28 W tym drugim przypadku zadeklarowałeś "zmienną znakową". Możesz przypisać do niej konkretny znak lub liczbę, jednakże cout jest nauczony tak wyświetlać tego typu zmienne jako znak, a nie liczbę. Żeby Ci zadziałało tak jak chcesz musisz ją rzutować na inny typ: (np. int) 1. ( int ) nieznana . 2. int( nieznana ) . |
|
Pepe Temat założony przez niniejszego użytkownika |
» 2015-11-13 13:42:43 wielkie dzięki za wyjaśnienia, już rozumiem :) temat do zamknięcia |
|
Rashmistrz |
» 2015-11-13 14:59:15 Własne tematy można otwierać i zamykać według własnych potrzeb. |
|
« 1 » |