Pipes and COPY-ON-WRITE
In this example, every forked process gets its own copy of the
countervariable i through copy-on-write.
committer: Markus Bröker <mbroeker@largo.homelinux.org>
#include <stdio.h>
#include <stdlib.h>
#define getrandom(max) (1+(int)((float)(max)*rand()/RAND_MAX+1.0))
int main (void)
{
while (1) {
int guess = -1, value = getrandom (100), count = 0;
do {
printf ("Enter a number: ");
if (scanf ("%d", &guess) < 0)
(void)getchar ();
else
count++;
if (guess != value)
printf ("X is %s than %d\n", (value > guess) ? "higher" : "lower", guess);
} while (value != guess);
printf ("SUCCESS: You got it after %d attempts\n", count);
}
return EXIT_SUCCESS;
}