(a)
#pragma omp parallel private(j)
{
j = 0;
#pragma omp for private(i)
for (i = 0; i < 4; i++)
printf ("j = %d\n", ++j);
}
(b)
j = 0;
#pragma omp parallel for private(i) shared(j)
for (i = 0; i < 4; i++)
#pragma omp critical
printf ("j = %d\n", ++j);