fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char *setPalindrome(const char *s) {
  6. int len = strlen(s);
  7. char *result = (char *)malloc(2 * len + 1); // 回文用のメモリ確保
  8. if (!result) return NULL;
  9.  
  10. // 元の文字列をコピー
  11. strcpy(result, s);
  12.  
  13. // 逆順に文字を追加
  14. for (int i = 0; i < len; i++) {
  15. result[len + i] = s[len - i - 1];
  16. }
  17. result[2 * len] = '\0'; // 終端文字を追加
  18.  
  19. return result;
  20. }
  21.  
  22. int main() {
  23. char input[100];
  24. scanf("%s", input);
  25.  
  26. char *palindrome = setPalindrome(input);
  27. if (palindrome) {
  28. printf("%s\n", palindrome);
  29. free(palindrome); // メモリの解放
  30. }
  31.  
  32. return 0;
  33. }
  34.  
  35.  
Success #stdin #stdout 0s 5280KB
stdin
abcd
stdout
abcddcba