C OpenMP并行错误:缺少增量表达式

C OpenMP并行错误:缺少增量表达式,c,parallel-processing,openmp,C,Parallel Processing,Openmp,我正试图通过代码列出素数OpenMP号码,我有两个问题 第一个问题是删除中断并确保代码正常工作 第二个问题是标记此错误错误:缺少增量表达式 列表项 在for的行中(count=2;count取决于代码的其余部分,但是: 如果删除第一个FOR循环中的增量,错误是显而易见的。您不能删除它。“count++”是必需的 检查count的初始值是否小于n(即:如果“n”为1,并且以count=2开始,FOR循环将不会开始) 注意:在第一个IF块中,您试图修改“count”的值,但FOR循环正在使用该变

我正试图通过代码列出素数OpenMP号码,我有两个问题

  • 第一个问题是删除中断并确保代码正常工作
  • 第二个问题是标记此错误
    错误:缺少增量表达式
  • 列表项


    在for的
    行中(count=2;count取决于代码的其余部分,但是:

    • 如果删除第一个FOR循环中的增量,错误是显而易见的。您不能删除它。“count++”是必需的

    • 检查count的初始值是否小于n(即:如果“n”为1,并且以count=2开始,FOR循环将不会开始)

    • 注意:在第一个IF块中,您试图修改“count”的值,但FOR循环正在使用该变量来控制其余的迭代。正如我所说,这取决于代码功能,但通常您不希望发生这种情况(修改循环控制变量)


    如果没有进一步的信息,恐怕我们无法为您提供更多帮助。re.

    我不确定您的问题是什么。请您重新措辞,使其更准确一些好吗?另外,您可以正确设置代码格式,以便更容易阅读。什么是“表兄妹OpenMP号码”?您的算法不适合并行化。您必须搜索其他算法才能与OpenMP一起工作。
    int n, i = 3, count, c;
    // n is the number's prime
    for ( count = 2 ; count <= n ;    )
    {
        for ( c = 2 ; c <= i - 1 ; c++ )
        {
            if ( i%c == 0 )
                break;
    
        }
        if ( c == i )
        {
            printf("%d\n",i);
            count++;
        }
      i++;
    }