Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int length(char *str)
  5. {
  6.     int len = 0;
  7.     while(str[len++] != '\0');
  8.     return len - 1;
  9. }
  10.  
  11. char *concatenate(char *str1, char *str2)
  12. {  
  13.     int len1 = length(str1), len2 = length(str2);
  14.     char *retval = (char *)malloc(sizeof(char) * (len1 + len2 + 1));
  15.     for(int i = 0; i < len1 + len2 + 1; i++)
  16.         retval[i] = i < len1 ? str1[i] : (i < len1 + len2 ? str2[i - len1] : '\0');
  17.     return retval;
  18. }
  19.  
  20. int main()
  21. {
  22.     char meme[] = "meme";
  23.     char review[] = "review";
  24.     printf("%s %d, %s %d\n", meme, length(meme), review, length(review));
  25.     char *memeReview = concatenate(meme, review);
  26.     printf("%s %d\n", memeReview, length(memeReview));
  27.     free(memeReview);
  28.    
  29.     printf("Podaj 2 slowa:\n");
  30.     char buffer1[128], buffer2[128];
  31.     scanf("%s %s", buffer1, buffer2);
  32.     printf("%s %d, %s %d\n", buffer1, length(buffer1), buffer2, length(buffer2));
  33.    
  34.     char *concatenatedBuffers= concatenate(buffer1, buffer2);
  35.     printf("%s %d\n", concatenatedBuffers, length(concatenatedBuffers));
  36.     free(concatenatedBuffers);
  37.    
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement