-4

次の要件を満たすプログラムを作成する方法は何ですか。

  1. "Hello world!" を出力します。標準出力へ。
  2. 空のメインがあります(0を返すだけです)つまり

    int main(int argc, char** argv) {
        return 0;
    }
    
  3. main上記以外の追加コードを含めてはなりません。

4

3 に答える 3

14

これはさまざまな方法で行うことができます。#include <iostream>次のメソッドをメインの前に配置する必要があると考えてください。

  1. マクロを使用することはできますが、コメントで指摘されているように、結果は未定義です。したがって、これが簡単な方法であっても、決して使用しないでください。完全を期すために、ここに残しておきます。

    #define return std::cout << "Hello world!"; return
    
  2. 静的変数を使用できます:

    int helloWorld() 
    { 
        std::cout << "Hello World"; 
        return 0; 
    }
    static int print = helloWorld();
    
  3. ...またはさらに簡単に:

    bool printed = std::cout << "Hello World";
    
  4. オブジェクトでも同じことができます:

    struct hello
    {
        public:
            hello()
            {
                std::cout << "Hello, world!";
            }
    } world;
    
于 2013-10-09T13:39:08.370 に答える
1
struct Bob
{
    Bob()
    {
        printf("Hello world!");
    }
} bob;

int main()
{
}
于 2013-10-09T13:39:56.623 に答える
0
  1. オブジェクトのインスタンス化:

    struct S
    {
        S() { std::cout << "Hello World!"; }
    } s;
    
    int main() { }
    
  2. または式で:

    int i = ((std::cout << "Hello World\n"), 5);
    
    int main() { }
    
于 2013-10-09T13:40:46.653 に答える