我的函数没有进入for循环,我不知道为什么

时间:2017-10-20 18:39:27

标签: c++ function for-loop

void dibuja(int lineas, char caracter){
int i=0,j=0;
cout<<lineas<<caracter;
for(i = 1; i == lineas; i++){

     for(j=i; j<=lineas; j++){
       cout<<caracter;
     }

   cout<<endl;
 }
}

所以我有这个代码,当我尝试运行时,编译器返回没有错误,但函数不进入循环。它打印线条和特征,但不是它所支持的三角形。

4 个答案:

答案 0 :(得分:1)

看来你的意思是

for(i = 1; i != lineas; i++){

而不是

for(i = 1; i == lineas; i++){

答案 1 :(得分:1)

for循环作为第二个&#34;参数&#34;循环条件...喜欢&#34;循环而...&#34;因为你有i == lineas它永远不会进入循环。

您应该使用i <= lineasi != lineas

答案 2 :(得分:1)

您可能打算在for循环中写for(i = 1; i != lineas; i++)for(i = 1; i < lineas; i++)

只要条件为真,您就可以将条件视为&#34;执行for循环中的指令。由于i在开头不等于lineas,所以循环根本不会执行。

答案 3 :(得分:1)

for循环只不过是一个美化的while循环。

诸如

之类的循环
for (init_expression; loop_condition; iterator_expression)
    loop_statement;

等于

{
    init_expression;

    while (loop_condition)
    {
        loop_statement;
        iterator_expression;
    }
}

如果您这样看,可能会更容易理解for循环在i == lineastrue时循环。只有当lineas等于0时才会使用初始化表达式,然后它将只循环一次,因为下一次迭代(i等于1时)条件将不再适用。