Сделайте функцию более простой
Мне было интересно, могу ли я сделать функцию "strinsert" в этом коде более простой или короткой.
Что я уже пробовал:
int strinsert(char *dst, int len, const char *src, int offset) { char leng[len]; int i, j=0, x=0; if (strlen(src)+strlen(dst)>len-1 || offset>strlen(dst)) return 1; else { for (i=0; strlen(dst)+strlen(src)>=i; i++) { if (i<offset) { leng[i]=dst[i]; x++; } else if (j<strlen(src)) { leng[i]=src[j]; j++; } else if (j<strlen(src)+strlen(dst)) { leng[i]=dst[x]; x++; } } leng[strlen(leng)]='\0'; strcpy(dst,leng); return 0; } } int main() { char dst[100], src[100]; int len, offset; scanf("%s %d %s %d", dst, &len, src, &offset); if (strinsert(dst, len, src, offset)) printf("Failed\n"); else printf("%s", dst); return 0; }
Patrice T
Что должно выполнять эту функцию?
Есть ли примеры ввода и вывода?