#include <stdio.h>

void sort_ch(char *buf) {
  int i, j;
  char key;
  for (i=1; buf[i] != '\0'; ++i) {
    for (j=i; j>=1; --j) {
      if (buf[j] < buf[j-1] ){
        key = buf[j];
        buf[j] = buf[j-1];
        buf[j-1] = key;
      }
    }
  }
}

int main() {
  char buf[256] = {'\0'};
  fgets(buf, sizeof(buf), stdin);
  sort_ch(buf);
  printf("%s\n", buf);
  return 0;
}

ポインタ変数を扱う場合、配列( [ ] )として扱わず、間接参照演算子( * )を用いること。

これがわかりません・・・どうすればいいんでしょうか