Currently, this is C source code. The other programming languages according to the tag are irrelevant.
There are several errors:
Str = (char**)calloc(n, sizeof(char*));
if (!Str) return 0;
scanf("%s", Str[i]);
Str[0][0] = 'f';
for (i = 0; i < n; i++)
if (Str[i]) free(Str[i]);
if (Str) free(Str);
return 0;
strcpy(temp, arr[i]);
strcpy(arr[i], arr[i + 1]);
strcpy(arr[i + 1], temp);
The hint of OriginalGriff instead of strcpy better to swap the pointers would be to consider.
void StringArray(char** arr, int size);