在C中打印一次以进行循环

时间:2018-05-18 19:59:15

标签: c for-loop

我有这段代码

if(orden[i]==1)
    for(i=0; i<ARRAY_SIZE; i++)
        if(v[i]<v[i+k])
            printf("print once "); 

如果满足for循环中的条件,我怎样才能使它只打印一次线?

3 个答案:

答案 0 :(得分:3)

使用break命令退出for循环。

if(orden[i]==1)
    for(i=0; i<ARRAY_SIZE; i++)
        if(v[i]<v[i+k])
        {
            printf("print once "); 
            break;
        }

答案 1 :(得分:2)

我建议您先更改索引变量,以免混淆。我建议使用ij。代码可能或多或少地形式:

if(orden[i]==1)  
  for(j=0; j<ARRAY_SIZE; j++)
    if((j==0)&&(v[j]<v[j+k]))
      printf("print once ");

答案 2 :(得分:1)

如果v [i]不比v [i + k]大,则退出'while'而不是打印你的值:

while ((i < ARRAY_SIZE) && (v[i] > v[i+k])) {
    i++;
}
printf("print once ");

替代方案你可以使用布尔变量,但不是内存原因的最佳解决方案。