Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > What??!


Автор: Дрон 4.9.2006, 18:48
Эх... Давно я не писал в разделе Си\Си++, но вот тут случайно наткнулся на статейку в MSDN и решил проверить "а знаете ли вы?" smile

Дан кусок кода на Си
Код
#include <stdio.h>
#include <conio.h>

void main()
{
    printf("What??!\n");
    getch();
}

Вопрос: что будет напечатано на экране в результате выполнения проги?

ЗЫ: Только давайте не жульничать, а ответим честно не компилируя и не запуская программу smile

Автор: nikitao 4.9.2006, 18:56
Ахтунг. А я не знал  smile 

Автор: Sceptik 4.9.2006, 19:00
Дрон, триграфф?

Автор: Void 4.9.2006, 19:03
Триграфы. Ужас. От них прямо какой-то мертвечиной веет smile

Нет, не найдейтесь, всё-таки скомпилил и запустил, потом понял smile

Автор: Дрон 4.9.2006, 19:03
Sceptik, он самый.
Мне просто любопытно, много ли современных программистов о них вообще знает? smile

А исходная программка переписывается так:
Код
??=include <stdio.h>
??=include <conio.h>
void main()
??<
    printf("What??!\n");
    getch();
??>


ЗЫ: Я честно не знал. Но я о Си как таковом вообще относительно мало знаю smile

Автор: 0x07L 4.9.2006, 19:05
А я вот знал (Страуса читал две недели назад)

Автор: Sceptik 4.9.2006, 19:08
Дрон, читал у Саттера. Правда у него более сложный пример был.

Автор: MAKCim 4.9.2006, 19:32
я знал, что фишка в ??! - но забыл как слово называется
оказалось триграф  smile 

Автор: Friackazoid 4.9.2006, 19:58
Прочла пост, почесала затылок, подумала, откомпилировала...

А в чем прикол? Что попросили, то он и вывел...

Не серьезно в чем прикол-то?. В том что курсор на следующей строке? Так символ \n это символ конца строки...

Автор: zkv 4.9.2006, 20:04
Цитата(Friackazoid @  4.9.2006,  19:58 Найти цитируемый пост)
Прочла пост, почесала затылок, подумала, откомпилировала...

А в чем прикол? Что попросили, то он и вывел...

Не серьезно в чем прикол-то?. В том что курсор на следующей строке? Так символ \n это символ конца строки...


а у меня вывел  What |
(палка не такая а из двух маленьких) smile

Автор: dumb 4.9.2006, 20:30
Borland поклал на триграфы, выделив для их обработки отдельную тулзу. типо для тех, кто знает толк в извращениях... smile моя считает что такой ход более чем разумный.

Автор: Romikgy 4.9.2006, 20:43
У мя на 2 компиляторах Dev-C++ и билдер 6 , ничего не произошло,
правда  Dev-C++ выдал варнинг
Код

8:17 D:\Dev\prog\main.cpp [Warning] trigraph ??! ignored, use -trigraphs to enable 

а вот как включить его я не нашел smile

Автор: MAKCim 4.9.2006, 21:51
Цитата

а вот как включить его я не нашел

Цитата

use -trigraphs to enable 

Автор: Romikgy 4.9.2006, 22:14
Цитата(MAKCim @  4.9.2006,  20:51 Найти цитируемый пост)

use -trigraphs to enable 

и ?

Автор: bsa 4.9.2006, 23:04
подсказка: -trigraphs - это опция компилятора smile

Добавлено @ 23:06 
А это для тех, кто не знает что такое trigraphs:
http://en.wikipedia.org/wiki/C_trigraph
Ужас! И как народ такими куцыми клавами пользуется?!?

Автор: nikitao 4.9.2006, 23:11
Ой , вспомнил. Я ж это знал smile , но забыл  smile 

Автор: Romikgy 4.9.2006, 23:21
Цитата(bsa @  4.9.2006,  22:04 Найти цитируемый пост)
подсказка: -trigraphs - это опция компилятора

это я сразу понял , вот где это прописать , я не понял smile

Автор: bilbobagginz 5.9.2006, 03:23
Цитата

это я сразу понял , вот где это прописать , я не понял smile 


там же, где и -pedantic -Wall - в опциях компилятора.

пока.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)