How do I concatenate two strings in C?

后端 未结 11 1152
春和景丽
春和景丽 2020-11-22 16:00

How do I add two strings?

I tried name = \"derp\" + \"herp\";, but I got an error:

Expression must have integral or enum type

11条回答
  •  遥遥无期
    2020-11-22 16:40

    Concatenate Strings

    Concatenating any two strings in C can be done in atleast 3 ways :-

    1) By copying string 2 to the end of string 1

    #include 
    #include 
    #define MAX 100
    int main()
    {
      char str1[MAX],str2[MAX];
      int i,j=0;
      printf("Input string 1: ");
      gets(str1);
      printf("\nInput string 2: ");
      gets(str2);
      for(i=strlen(str1);str2[j]!='\0';i++)  //Copying string 2 to the end of string 1
      {
         str1[i]=str2[j];
         j++;
      }
      str1[i]='\0';
      printf("\nConcatenated string: ");
      puts(str1);
      return 0;
    }
    

    2) By copying string 1 and string 2 to string 3

    #include 
    #include 
    #define MAX 100
    int main()
    {
      char str1[MAX],str2[MAX],str3[MAX];
      int i,j=0,count=0;
      printf("Input string 1: ");
      gets(str1);
      printf("\nInput string 2: ");
      gets(str2);
      for(i=0;str1[i]!='\0';i++)          //Copying string 1 to string 3
      {
        str3[i]=str1[i];
        count++;
      }
      for(i=count;str2[j]!='\0';i++)     //Copying string 2 to the end of string 3
      {
        str3[i]=str2[j];
        j++;
      }
      str3[i]='\0';
      printf("\nConcatenated string : ");
      puts(str3);
      return 0;
    }
    

    3) By using strcat() function

    #include 
    #include 
    #define MAX 100
    int main()
    {
      char str1[MAX],str2[MAX];
      printf("Input string 1: ");
      gets(str1);
      printf("\nInput string 2: ");
      gets(str2);
      strcat(str1,str2);                    //strcat() function
      printf("\nConcatenated string : ");
      puts(str1);
      return 0;
    }
    

提交回复
热议问题