Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > helpme |
Автор: freedom 22.10.2003, 00:09 |
Объясните плиз, ничего не понимаю: 1.является ли следующий код правильным? почему?Если да, то, что он выведет. cout<<(int *) "Является ли этот код правильным?" что такое (int*) ![]() ![]() ![]() ![]() 2.Что бы вывел на печать следующий фрагмент кода, если бы он был включен в программу: int i; for(i=0;i<5;i++) cout<<i; cout<<'/n'; ответ выведет он-0123412142 что такое '/n' ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() заранее благодарен если не трудно ответ шлите на [email protected] |
Автор: Lucifer 22.10.2003, 00:42 | ||
Может ты имел в виду \n? Тогда это символ конца строки в C++. А оператор << - оператор "поместить в поток". А вот тот for, дык это простой цикл с инкриментацией переменной цикла ... * - это оператор косвенной адресации ... Короче, достаешь любую книгу по C++ и читаешь ... там все это нормально описано ... |
Автор: Lucifer 22.10.2003, 00:45 |
К стати советую достать книгу такого вот себе автора: А. Я. Архангельский. Уж больно неплохо мужик книги пишет, только выбрать нужно именно то издание, которое тебе больше подходит под твои познания. Не нужно брать сразу справочное пособие если ты в сях вообще дупля отбить толком не можешь, к примеру. |
Автор: Freedom 22.10.2003, 00:49 |
вот именно что всё правильно в задании 1 компилируется и выводит одно и тоже число 4206788 понять не могу что это такое (int*) в задании 2 имеется в виду именно '/n' а не что либо другое и ещё выведет на экран 0123412142 01234 это понятно, а что такое 12142??? |
Автор: gray_k 22.10.2003, 08:11 | ||||
Здесь вё просто. Если написать код более наглядно:
Сначала выводятся цифры с 0 до 4 (в цикле), а потом '/n' - тип unsigned int. Просто прееменная символьного типа в C++ является целым числом. |
Автор: gray_k 22.10.2003, 08:18 |
А первый случай выводит адрес где хранится строка. И он-то как раз выводить одно и тоже число не будет. |
Автор: Freedom 22.10.2003, 10:02 |
какой такой первый код? cout<<(int *) "Является ли этот код правильным?" в кавычках можно писать всё что угодно,ВСЁ РАВНО ВЫВОДИТ НА ЭКРАН ОДНО И ТОЖЕ-4206788 я даже комп перезагружал, ВСЁ РАВНО "Просто прееменная символьного типа в C++ является целым числом"-объясните по подробнее |
Автор: Freedom 22.10.2003, 10:04 |
не первый код , а первый случай-ошибся |
Автор: gray_k 22.10.2003, 11:43 |
cout << '/n'; '/n' - переменная типа char. Это число, которое и выводится в поток. (int*) - читайте литературу по преобразованию типов и указателям. У меня на компе этот код выдаёт совсем другое число (зависит от компилятора). cout<<(int *) "Является ли этот код правильным?" - происходит приведение строки к указателю на целое число и воводится значение этого указателя. Т.е. у тебя выводится адрес со значением равным строке в целочисленной интерпритации. Мож я сумбурно объясняю, но лучше не получается ![]() |