#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char *intertwine(char *s1, char *s2){
    int i = 0;
    char *collection = malloc(strlen(s1) + strlen(s2) + 1);
    while(i / 2 < strlen(s1) && i / 2 < strlen(s2)){
        collection[i] = s1[i / 2];
        collection[i+1] = s2[i / 2];
        i += 2;
    }
    if(i/2 >= strlen(s1)){
        for(int j = i/2; j <= strlen(s2); j++){
            collection[i / 2 + j] = s2[j];
        }
    }
    else if(i/2 >= strlen(s2)){
        for(int j = i/2; j <= strlen(s1); j++){
            collection[i / 2 + j] = s1[j];
        }
    }
    else {
        collection[i] = '\0';
        }
    return collection;
}
Fix linker problem