C ++代码没有做我想要的

时间:2016-03-19 19:49:23

标签: c++ function cout

当我调用此功能时,它不会显示任何*。但当我改变==到<有用。为什么?

void starBox(int size){
    for(int i = 0; i == size; i++){
        for(int j = 0; j == size; j++){
            cout << '*';
        }
        cout << endl;
    }
}

1 个答案:

答案 0 :(得分:1)

我认为你的问题是由于误解了for循环中间条件的含义。这是一个循环 continuation 条件,这意味着循环需要它true才能继续。 Loop的后置条件与其延续条件相反。

  

当我调用此函数时,它不会显示任何*

这是因为循环延续条件为false,除非size为零,因此跳过循环体。

  

但是,当我将==更改为<时,它可以正常工作。为什么呢?

因为循环连续条件变为true,并且在循环结束之前保持true。这就是<有效的原因; !=也可以。