#include<iostream>
int main()
{
return 0;
}
Задача: "Hello World" для продвинутых
Дается код программы:
Код:
Нужно дописать код, не изменяя функции main, чтобы программа выводила "Hello World".
P.S.
Свой вариант ответа пока не пишу. Интересно сначала посмотреть на другие.
Код:
#include<iostream.h>
#define return cout << "Hello World"; return
int main()
{
return 0;
}
#define return cout << "Hello World"; return
int main()
{
return 0;
}
Прошу. :)
Цитата: Alexander92
Код:
#define return cout << "Hello World"; return
Прошу. :)
Это не совсем честный ответ ;)
Здесь все-таки функция main неявно изменена.
Нужно чтобы функция main как была так и оставалась - вывод должен происходить не в ней!
Цитата: MihaZzz
Нужно чтобы функция main как была так и оставалась - вывод должен происходить не в ней!
ок
Консольное приложение в VC++.Функция main() остаётся,как была!
Код:
#include <iostream.h>
int _tmain(int argc,_TCHAR* argv[]){
cout<<"Hello,world!"<<endl;
return 0;
}
int _tmain(int argc,_TCHAR* argv[]){
cout<<"Hello,world!"<<endl;
return 0;
}
И да,предыдущий ответ был достаточно честен.Ты изменения функции не видишь,оно происходит на этапе компиляции
Код:
#include <iostream.h>
class CSomeClass {
public:
CSomeClass() {
cout << "Hello World!";
}
};
CSomeClass someObject;
int main() {
return 0;
}
class CSomeClass {
public:
CSomeClass() {
cout << "Hello World!";
}
};
CSomeClass someObject;
int main() {
return 0;
}
Такой ответ устроит? :)
Цитата:
Такой ответ устроит? :)
Да ;) Я тоже так ответил. Это был вопрос на собеседовании на знание C++ и ООП.
Код:
#include <iostream.h>
string s = "Hello World!";
ostream& os = operator<<(cout, s.c_str());
int main() {
return 0;
}
string s = "Hello World!";
ostream& os = operator<<(cout, s.c_str());
int main() {
return 0;
}
Только зачем создавать переменную string?
Ну как, чтобы больше кода было. :D
Код:
#include <windows.h>
#include <iostream>
#pragma comment (linker, "/ENTRY:mainCRTStartup /defaultlib:kernel32.lib /nod:msvcrt.lib /subsystem:\"console\"")
extern "C" void __cdecl mainCRTStartup()
{
DWORD tmp = 0;
WriteConsoleW(
GetStdHandle(STD_OUTPUT_HANDLE),
L"Hello world",
sizeof(L"Hello world") / sizeof(wchar_t),
&tmp, NULL
);
ExitProcess(0);
}
int main() {
return 0;
}
#include <iostream>
#pragma comment (linker, "/ENTRY:mainCRTStartup /defaultlib:kernel32.lib /nod:msvcrt.lib /subsystem:\"console\"")
extern "C" void __cdecl mainCRTStartup()
{
DWORD tmp = 0;
WriteConsoleW(
GetStdHandle(STD_OUTPUT_HANDLE),
L"Hello world",
sizeof(L"Hello world") / sizeof(wchar_t),
&tmp, NULL
);
ExitProcess(0);
}
int main() {
return 0;
}
ps. main в принципе можно вообще убрать ((((:
А ещё console в кавычки брать необязательно,и tmp инициализировать тоже;)