#include #include int main(int argc, char** argv) { int a = 22; int b = 67; int c = 53; int i; #pragma omp parallel shared(a) firstprivate(b) default(shared) { b = addrank(a); printf(" I have the value : %d and my rank is %d\n",b,omp_get_thread_num()); #pragma omp for for (i = 0; i < 4; i++ ) b = mul2(b); printf(" I have the value : %d and my rank is %d\n",b,omp_get_thread_num()); } return 0; } int addrank(int o) { return o + omp_get_thread_num(); } int mul2(int p) { return p*2; }