Форум программистов, компьютерный форум CyberForum.ru

Вывод строки в printf - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ подскажите где можно купить хорошую методичку http://www.cyberforum.ru/cpp-beginners/thread521549.html
по си++ в москве... желательно чтоб там были только таблицы и обазначения каманд....ну как минишпаргалка....
C++ Создать класс автомобилей. Вообщем, есть такое задание : Создать класс автомобилей. Описать поля: название авто (марка), цвет кузова, номер двигателя внутреннего сгорания, стоимость авто, год выпуска, число ремонтов. Описать метод вывода полей на экран с применением потокового вывода. Определить 3 объекта класса автомобилей. Ввести данные в объекты и подсчитать среднее число ремонтов для всех объектов. Отладить... http://www.cyberforum.ru/cpp-beginners/thread521545.html
Обработки исключительных ситуаций C++
Объясните, что от меня хотят, а то уже мозг кипит ... 7. Не абстрактный класс В является производным от абстрактного класса А. Определить обработчик исключительной ситуации при преобразовании ссылки на класс В в ссылку на абстрактный класс.
C++ Списки (вывод)
извините за тупой вопрос, не могли бы вы подсказать как выводить элементы списка? struct tElem { int value; tElem *next; }; сама структура а вывожу я вот так void main() {
C++ Чисто виртуальные классы. Модификатор const http://www.cyberforum.ru/cpp-beginners/thread521526.html
Приветствую всех! Известно, что чисто виртуальный (абстрактный) класс можно получить class A { public: virtual void test()=0; }; На просторах рунета в онлайн-учебнике встретил следующий пример абстрактного класса: class A { public: virtual void test()const=0; };И получается так, что я ничего даже с его наследниками не могу сделать. Попытка инстанцировать наследника пресекается...
C++ Создать структуру с именем Sotrudnik Добрый день. Не знаю как сделать задачу. Помогите кто чем может. Создать структуру с именем Sotrudnik с полями: фамилия, имя, должность, год поступления на работу. Сформировать двусвязный список. Удалить из списка тех сотрудников, кто работает менее 3-х лет. Вывести измененный список. Структуру создать, создал, а вот как дальше не знаю подробнее

Показать сообщение отдельно
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112

Вывод строки в printf - C++

18.03.2012, 16:23. Просмотров 7317. Ответов 5
Метки (Все метки)

Есть варианты кода, пытающиеся вывести строку "abc" в stdout.

C++
1
2
3
4
5
6
7
#include <stdio.h>
 
int main ()
{
    printf ("%s", "abc");
    return 0;
}
C++
1
2
3
4
5
6
7
#include <stdio.h>
 
int main ()
{
    printf ("%s", (char[]) {"abc"});
    return 0;
}
C++
1
2
3
4
5
6
7
#include <stdio.h>
 
int main ()
{
    printf ("%s", (char[]) {'a', 'b', 'c', '\0'});
    return 0;
}
C++
1
2
3
4
5
6
7
#include <stdio.h>
 
int main ()
{
    printf ("%s", (char[]) {'a', 'b', 'c'});
    return 0;
}
Почему только посл. вариант ничего не выводит на экран? Неужели всё дело лишь в терминальном нуле? Почему компилятор не может добавить его самостоятельно, как, например, во втором примере здесь? Дело в том, что, не указав размер массива явно, я сказал компилятору, что размер будет равен кол-ву элементов в списке инициализации?

Ну, даже в таком случае я думал, что printf выведет хоть что-то на экран, пусть это было бы и не то, что ожидалось.

Неужели printf сначала проверяет наличие терминального нуля в строке, которую он собирается вывести в stdout? Исходников crt под рукой нет, посмотреть не могу.

И как прав. называется конструкция вида

C++
1
(char[]) {'a', 'b', 'c'}
Создание безымянного массива фундаментального типа char размером 3 байта?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru