C PROGRAM Write a function called concat which takes two strings as input, s1 an
ID: 3867553 • Letter: C
Question
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.
Explanation / 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 string ");
gets(s1);//s1 string
printf("Enter other string to concatenate ");
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. ", 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] != '') //Iterate through each character of s1 string untill Null character.
{
sOutput[stotal_length] = sInput1[stotal_length];//copying all the characters of s1 into s3 except NULL
stotal_length++;
}
while (sInput2[s2_length] != '') //Iterate through each character of s2 string untill Null character.
{
sOutput[stotal_length] = sInput2[s2_length];//Appending the s2 string to s3 string
s2_length++;
stotal_length++;//Total length of the string s3
}
sOutput[stotal_length] = '';//Adding NULL character at the end
return stotal_length;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.