w3resource

C Programming: Concatenate Two Strings Manually

C String: Exercise-19 with Solution

Write a program in C to Concatenate Two Strings Manually.

C Programming: Concatenate Two Strings Manually

Sample Solution:

C Code:

#include <stdio.h>
#include <string.h>
void main()
{
    char str1[100], str2[100], i, j,l,m,k;
	
       printf("\n\nConcatenate Two Strings Manually :\n");
       printf("-------------------------------------\n");	

	printf("Input the first string : ");
    fgets(str1,sizeof str1,stdin);
	printf("Input the second string : ");
    fgets(str2,sizeof str2,stdin);
    l=strlen(str1);
    m=strlen(str2);
    for(i=0; i<l-1; ++i);  /* value i contains reaches the end of string str1. */  
    str1[i]=' ';            /* add a space with string str1. */ 
    i++;                  /* value i increase by 1 for the blank space */ 

    for(j=0; j<m-1; ++j, ++i)
    {
        str1[i]=str2[j];
    }
     k=strlen(str1);   

    printf("After concatenation the string is : \n ");    
    for(i=0; i<k; ++i)    
    {
         printf("%c",str1[i]);
    }
printf("\n\n");
}

Sample Output:

Concatenate Two Strings Manually :                                                                                            
-------------------------------------                                                                                         
Input the first string : this is string one                                                                                   
Input the second string : this is string two                                                                                  
After concatenation the string is :                                                                                           
 this is string one this is string two 

Flowchart :

Flowchart: Concatenate Two Strings Manually

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a program in C to Find the Frequency of Characters.
Next: Write a program in C to find the largest and smallest word in a string.

What is the difficulty level of this exercise?



C Programming: Tips of the Day

Is there a way to specify how many characters of a string to print out using printf()?

The basic way is:

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars"); 

The other, often more useful, way is:

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars"); 

Here, you specify the length as an int argument to printf(), which treats the '*' in the format as a request to get the length from an argument.

You can also use the notation:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars"); 

This is also analogous to the "%8.8s" notation, but again allows you to specify the minimum and maximum lengths at runtime - more realistically in a scenario like:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info); 

The POSIX specification for printf() defines these mechanisms.

Ref: https://bit.ly/395Zj2j