C Program to Concat Two Strings without Using Library Function


Levels of difficulty: / perform operation:

Problem & Solution

In this C Program we have to accept two strings from user using gets and we have to concatenate these two strings without using library functions.

C Program

#include<stdio.h>
#include<string.h>
void concat(char[], char[]);
int main() {
	char s1[50], s2[30];
	printf("\nEnter String 1 :");
	gets(s1);
	printf("\nEnter String 2 :");
	gets(s2);
	concat(s1, s2);
	printf("\nConcated string is :%s", s1);
	return (0);
}
void concat(char s1[], char s2[]) {
	int i, j;
	i = strlen(s1);
	for (j = 0; s2[j] != '\0'; i++, j++) {
		s1[i] = s2[j];
	}
	s1[i] = '\0';
}

Output

The above code sample will produce the following result.

Enter String 1 : Ankit
Enter String 2 : Singh
Concated string is : AnkitSingh

Explanation of Program

Step 1. input

let two string variable s1 and s2 having input
s1 = “Ankit”;
s2 = “Singh”;

Step 2. Found Last position

Then found length of first string
= strlen(s1);
= strlen(“Ankit”);
= 5
Last position of s1 = 5

STEP 3. Concatenat

Now we can Concatenat second string using for loop
s1[5] = “S”
s1[6] = “i”
s1[7] = “n”
s1[8] = “g”
s1[9] = “h”