返回A B中相同位置的不同之处,如果B更长,就返回B更长的部分。
char *find_diff(char *A, char *B) { if (!A) return A; if (!B) return B; int ret_size = strlen(A) > strlen(B) ? strlen(A) : strlen(B); char *ans = calloc(ret_size,sizeof(char)); char *head = ans; while (*A && *B) { if (*A == *B) { A++; B++; } else { *ans++ = *B++; A++; } } if (*B) strcat(ans, B); return head; }