'm creating a small guess game between a child and a parent:

The child takes in the input from user and makes that the number to guess, the parent simply goes into a loop trying to figure out which is the right number.

I can't get it to work fully. Also you can see I'm keeping track of how many times it takes, once its found, make a new one and then exits after 4 rounds.
Code:
#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <stdlib.h>

char readbuffer[100];

int main() {
  int pid, nbytes, i, input;
  int fd[2] = {} ;
  int guess = 0;
  pid = fork();
  int x;
  srand((unsigned) time(NULL));
  x = (rand() % 10 + 1);
  if (pid == 0) {
    close(fd[0]);
    printf("enter a number ");
    scanf("%d", &input);
    write(fd[1], &input, (sizeof(input)));
    if (x == input) {
      exit(0);
    }
    close(fd[1]);
  } else {
    //PARENT
    close(fd[1]);
    nbytes = read(fd[0], &input, sizeof(input));
    while (x != input) {
      if (x != input) {
        guess++;
      }
    }
    char answer;
    if (x == input) {
      printf(" correct");
      printf("Number of Guesses: %d\n", guess);
      exit(0);
    }
    //to reset random
    x = (rand() % 10 + 1);
    close(fd[0]);
  }
}