fork download
  1. #include <stdio.h>
  2.  
  3. void cat_data(int *data1, const int *data2, int len2);
  4.  
  5. int data1[7] = {1, 25, 0, 36, 0, 0, 2};
  6.  
  7. int main() {
  8. int data2[5] = {11, 22, 33, 44};
  9.  
  10. int len2 = 0;
  11. for (int i = 0; i < 5; i++) {
  12. if (data2[i] != 0)
  13. len2++;
  14. else break;
  15. }
  16.  
  17. cat_data(data1, data2, len2);
  18.  
  19. printf("連結後のdata1\n");
  20. for (int i = 0; i < 7; i++) {
  21. printf("data1[%d] = %d\n", i, data1[i]);
  22. }
  23.  
  24. return 0;
  25. }
  26.  
  27. void cat_data(int *data1, const int *data2, int len2) {
  28. int i;
  29.  
  30. int len1 = 0;
  31. for (i = 0; i < 7; i++) {
  32. if (data1[i] != 0)
  33. len1++;
  34. else break;
  35. }
  36.  
  37. int copy_len = 7 - len1;
  38. if (copy_len > len2) copy_len = len2;
  39.  
  40. for (i = 0; i < copy_len; i++) {
  41. data1[len1 + i] = data2[i];
  42. }
  43. }
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
連結後のdata1
data1[0] = 1
data1[1] = 25
data1[2] = 11
data1[3] = 22
data1[4] = 33
data1[5] = 44
data1[6] = 2