Code:
int pos; tracker1, tracker2,
line 11. This doesn't make sense. I believe you only need one int variable anyway, so you should get rid of tracker1, tracker2.
Code:
char originalString[100], temporaryString[100]; blank[100];
line 12. Only two strings are needed here. You need the original and a temporary.
Code:
scanf("%s", &originalString[0]);
scanf("%s", &temporaryString[0]);
line 18 and 25. This is fine, but it might be redundant to use an address operator (&) as well as an index. They kind of counterbalance eachother. One cancels the other. A string name is converted into a pointer when it is passed into a function such as scanf, so while scanf asks for an address rather than a value, a string name provides that address. It works differently for integer variables because those hold values rather than addresses.
You haven't called stringInput() in main.
stringInput's function delcaration is missing types in its parameter list, and it lists blank[100] as a parameter which has not been given a value. Additionally, I think it would be preferable to create blank within the function as a temporary string which will go out of scope when the function returns. The modified string would then be the original string, but blank would be a copy of it while you still need a copy. The way I see the problem, you don't need the original strings once you have the final result.
As I was writing this though, I realized you don't even need a copy if you prepare the original string first by moving the end portion of the string to where it needs to be before you insert the middle portion. You can pick what you want to do.
Code:
int arrayoneTracker = 0;
int arraytwoTracker = 0;
int arraythreeTracker = 0;
line 34. I believe all the information you need should be contained in originalString, temporaryString, and pos. I don't believe these tracker variables are needed.
line 40. unfinished printf
Code:
for(int i = 0; i < pos; i++)
{
blank[i] = originalString[i];
}
line 42. I think this is okay, but there is a more concise way. To assign one string to another from its beginning, you can use char* strcpy(char* s1, char* s2).
Code:
for(int i = 0; i < length; i++)
{
blank[i] = temporaryString[i];
}
line 51. I don't believe you want i to begin at 0. Don't you want it to begin at pos? Then it should also end at pos + length rather than just length. Again though, strcpy would be better. You just have to do something like this: strcpy(&originalString[pos], temporaryString). The address operator and the index will cancel eachother out and you will be writing at pos rather than at the 0 index.
line 67. Arrays get converted into pointers when passed into a function, which means the values persist and a return is not necessary. The function should probably just have a void return type.