카타 8급 Exclamation marks series #4: Remove all exclamation marks from sentence but ensure a exclamation mark at the end of string

1 C[ | ]

char* remove_bang(char* s) {
  char* res = calloc(strlen(s)+1, sizeof(char));
  char* p = res;
  while(*s) {
    if(*s=='!') s++;
    else *p++ = *s++;
  }
  *p++ = '!';
  *p++ = '\0';
  return res;
}
char* remove_bang(char* s) {
  char *res = malloc(strlen(s)+1);
  char *src, *dst = res;
  while(src = *s++) {
    if(src!='!') *dst++ = src;
  }
  *dst++ = '!';
  *dst++ = '\0';
  return res;
}
char* remove_bang(char* s) {
  char *res = malloc(strlen(s) * sizeof(char));
  int pos = 0;
  while(*s){
     if(*s != '!') res[pos++] = *s;
     s++;
  }
  res[pos++] = '!';
  res[pos++] = '\0';
  return res;
}

2 PHP[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}