C PROGRAM Write a function called concat which takes two strings as input, s1 and s2 and returns a new string, s3, in which the second string is concatenated (added to) on to the end of the first string. In other words the new string consists of all the characters of s1 up to but not including the null character followed by all the characters in s2 including the final null character. For example, if s1 is ”agree” and s2 is ”able”, the new string would contain ”agreeable”. Your function should also return the length of the new string. Write a main program which tests your function. The program output should look like: The concatenation of the string: “agree” and the string: “able” is the string: “agreeable” which is 9 characters in length.
Expert Answer
#include <stdio.h>
//concat function prototype
int concat (char *, char *, char *);
int main()
{
char s1[50], s2[50], s3[100];//modify the string size based on your requirement.
int length;//length of the concatenated string
printf(“Enter a stringn”);
gets(s1);//s1 string
printf(“Enter other string to concatenaten”);
gets(s2);//s2 string
//concat function call
length = concat (s1, s2, s3);
printf(“The concatenation of the string: “%s” and the string: “%s” is the string: “%s” which is %d characters in length.n”, s1, s2, s3, length);
return 0;
}
int concat(char *sInput1, char *sInput2, char *sOutput)
{
int stotal_length=0, s2_length=0;
while (sInput1[stotal_length] != ‘