char *temp;
strcpy(temp,s);// value of s is copy to temp (test is copied to temp)
strcat(temp,x1.s); // value of temp and value of s is merging. (test and run are merging)
return temp; But how the return the value of temp (test run)
can you post using code tags please?
And also take note of what new said. You haven't allocated memory for your temp pointer.
also include files ending in ".h" are "older" headers.
also void main should be replaced with int main.