char *copy(char *dest, const char *src, int capacity) {
    int i;
    for (i = 0; i < capacity && src[i] != '\0'; i++){
        dest[i] = src[i];
    }

    for (int j = i; j < capacity; j++)
    {
        dest[i] = '\0';
    }
    // explicitly make dest null-terminated when there is no null terminator in
    // the first 'capacity' chars in src.
    dest[sizeof(dest) - 1] = '\0';

    return dest;
}
/* Write the copy function to perform exactly as strncpy does, with one
   exception: your copy function will guarantee that dest is always
   null-terminated. Capacity is expected to be the number of bytes of 
   memory allocated to dest.
   You shoud read the man page to learn how strncpy works.

  NOTE: You must write this function without using any string functions.
  The only function that should depend on string.h is memset.
 */