c – “for”循环中的“if”语句

前端之家收集整理的这篇文章主要介绍了c – “for”循环中的“if”语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通常当我有一个大的for循环时,我把消息告诉我程序的哪个部分,例如:
for(i = 0; i < large_n; i++) {
    if( i % (large_n)/1000 == 0) {
       printf("We are at %ld \n",i);
    }
    // Do some other stuff
}

我想知道这是否会对性能造成太大影响(先验),如果有更聪明的替代方案就是这种情况.谢谢提前.

解决方法

也许你可以拆分大循环以便有时只检查条件,但我不知道这是否真的可以节省时间,这更多地取决于你的“其他东西”.
int T = ...; // times to check the condition,make sure large_n % T == 0
for(int t = 0; t < T; ++t)
{
  for(int i = large_n/T * t; i < large_n/T * (t+1); ++i)
  {
    // other stuff
  }
  printf("We are at %ld \n",large_n/T * (t+1));
}

猜你在找的C&C++相关文章