C++ C++;由于“uint32\u t”for循环,程序挂起

C++ C++;由于“uint32\u t”for循环,程序挂起,c++,C++,我有以下计划(这是它的全部,除了评论): #包括 #包括 空隙筛(uint32\u t n){ 对于(uint32_t i=0;i

我有以下计划(这是它的全部,除了评论):

#包括
#包括
空隙筛(uint32\u t n){
对于(uint32_t i=0;i
它编译得很好。当我运行它时,它永远挂起。即使我为(uint32_t j=I*I;j


第一次通过
i
是0,所以
j
实际上并没有改变(
j+=0
)===>无限循环比我快..当我运行它时,它冻结了我的计算机…学到的经验教训你的测试结果如何得出它永远挂起的结论?;)我使用了夸张的证明
#include <iostream>
#include <vector>

void sieve(uint32_t n) {
  for(uint32_t i = 0; i < n; i++) {
    for(uint32_t j = i * i; j < n; j += i) {
    }
  }
}

int main(int argv, char * argc[]) {
  sieve(10);
  return 0;
}