Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么代码可以使这个循环工作?_C++_Loops - Fatal编程技术网

C++ 什么代码可以使这个循环工作?

C++ 什么代码可以使这个循环工作?,c++,loops,C++,Loops,这是我在面试时问的问题- for( blah blah ) { cout<<"World"; } (废话){code> cout这个怎么样 const char *p = "Hello "; *p; cout << *p, p++); if (1 for(int i = 0 ; std::cout << "Hello world!", i < 0; ) { std::cout<<"World"; } const c

这是我在面试时问的问题-

for( blah blah ) { 
   cout<<"World";
}
(废话){code>
cout这个怎么样

const char *p = "Hello "; *p; cout << *p, p++); if (1 
for(int i = 0 ; std::cout << "Hello world!", i < 0;   ) { 
   std::cout<<"World";
}

const char*p=“Hello”*p;cout我花了一点时间试图将循环控制到单个迭代:

#include <iostream>
#include <ios>
using namespace std;
int main() {
    for (cout << "Hello "; cout; cout.setstate(ios::badbit)) { cout << "World"; }
}

如果你能把任何东西放进for
的话,为什么还要担心for循环的主体呢

const char *p = "Hello "; *p; cout << *p, p++); if (1 
for(int i = 0 ; std::cout << "Hello world!", i < 0;   ) { 
   std::cout<<"World";
}

for(inti=0;std::cout他们没有说您需要实际运行循环,是吗

#include <iostream>
#include <ios>
using namespace std;
int main() {
    for (int i = (cout << "Hello World!",0); i; ) { cout << "World"; }
}
#包括
#包括
使用名称空间std;
int main(){

对于(int i=(cout 使用C++不识别空间的事实),

for(int i = 0; i < 0; ++i); if(true){ cout << "Hello World!"; } else { //blah blah ) { 
    cout<<"World";
}

for(inti=0;i<0;++i);if(true){cout有两个问题需要解决

  • 循环头中的输出
  • 抑制迭代
  • 在for声明的第一部分中,您可以执行几乎每个命令。因此,最好在这里打印所需的输出

    要抑制迭代,只需输入
    false
    作为条件。标题的最后部分可以留空

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        for ( cout<<"Hello World!"<<endl ; false ; )
        {
                cout<<"World"<<endl;
        }
        return 0;
    }
    
    #包括
    使用名称空间std;
    int main()
    {
    
    因为(cout没有人费心修复明显损坏的代码,它访问一些神秘的从未定义过的
    cout
    ,这显然是非常可怕的代码,所以…修复方法如下:

    #include <iostream>
    
    #define BLAH \
      struct { \
        template <typename T> \
        void operator<<(T const& t) const { \
          ::std::cout << ":- Hello " << t << " !\n"; \
        } \
        bool okay;\
      } cout{true}; \
      cout.okay; \
      cout.okay = false
    
    int main() {
      for(BLAH) {
        cout<<"World";
      }
    }
    

    显然,for循环只不过是一种转移。请这样看:

    make CXXFLAGS=-Wall\ -Wextra\ -pedantic\ -std=c++11 CXX=clang++ hw
    
    for(
    /* Your Code Here */
    ) { cout << "World"; }
    
    当然,最后一步只是出于纯粹的审美原因,如果需要,可以省略


    附言:它实际上打印的是“你好,世界!”,而不是“:-你好,世界!”我认为这是问题的确切答案。把它改为符合其他格式是留给读者的一个练习。

    这篇访谈是按预期的方式来执行的。提示:什么可以进入<代码> < <代码>循环?不。你需要学习C++。感叹号是所需输出的一部分吗?是的!是输出中需要的!您忘记了结尾的“!”;@lejlot我认为这是OP的感叹号,而不是原始问题。OP可以澄清它是否重要。+1用于使用
    for
    正文。是的,“!”仍然在输出中。顺便说一句,谢谢您的回答!您可以使它更简洁:for(;std::难道你忘了笑脸和解释标记前的空格。:)if(1)
    中的结束语
    不能是“废话”的一部分。否则,整个事情将是
    for(const char*p=“Hello”;*p;cout@DyP:啊,是的,明白了。一个注释!好主意。缩写:
    for(
    +
    +
    ;0;);很可能,这是不正确的,因为您在“blah blah”@dionadar后面缺少了右括号,它说的是
    //blah blah){
    @AbhinavGauniyal:不是。
    cout
    对象位于
    std
    命名空间内,如果不指定命名空间,您也无法访问该命名空间。您必须主动说出
    using::std::cout
    using namespace::std
    以使符号
    cout
    std
    之外可见>名称空间。现在,即使您已经这样做了,也没有人阻止您使用您自己的局部变量跟踪iostream的
    cout
    。感谢您让我开心!:)+1我可能对此太过火了……但只是稍微有点;)
        for(
        /* Your Code Begins */
        ;0;);
        struct cout {
            void operator<<(cout world)
            {
                hello <world> !"";
            }
            char const* out;
            cout() : out(0) { }
            cout(char const* out) : out(out) { }
            operator bool() { return !out; }
            struct typeof
            {
                typeof(decltype(::std::cout) const&) { }
                void operator>(bool a)
                {
                    ::std::cout << (!a ? "!" : "?");
                }
            };
            struct
            {
                typeof operator<(cout c)
                {
                    return typeof(::std::cout << "Hello " << c.out);
                }
            } hello;
        } cout;
        if(cout
        /* Your Code Ends */
        ) { cout << "World"; }
    
        ;0;);struct cout{void operator<<(cout world){
    
            hello <world>!
    
        "";}char const*out;cout():out(0){}cout(char const*out):out(out){}
        operator bool(){return!out;}struct
        typeof{typeof(decltype(::std::cout)const&){}void
        operator>(bool a){::std::cout<<(!a?"!":"?");}};
        struct{typeof operator<(cout c){return
        typeof(::std::cout<<"Hello "<<c.out);}}hello;}cout;if(cout