(1)
void string_reverse(const char *src , char *buf){
  const size_t length = strlen(src);
  buf += length;
  *buf = '\0';
  while(*src != '\0') {
    buf--;
    if(*src >= 'a') *buf = toupper(*src);
    else *buf = tolower(*src);
    src++;
  }
}