C OpenMP并行错误:缺少增量表达式
我正试图通过代码列出素数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循环正在使用该变
- 第一个问题是删除中断并确保代码正常工作
- 第二个问题是标记此错误
错误:缺少增量表达式
- 列表项
在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++; }