文字列を入れ替える関数


引数で渡された2つの文字列(s1,s2)の中身を入れ替える関数を作りなさい。
http://d.hatena.ne.jp/tek_koc/20080518/1211095764

やってみた。

#include <stdio.h>
#define CHAR_LENGTH 255

void strchange(char *s1,char *s2);


void strchange(char *s1,char *s2){
  char tmp[CHAR_LENGTH];
  int i;

  for( i=0; *(s1+i)!=0 || *(s2+i)!=0; i++){
    *(tmp+i)  = *(s1+i);
    *(s1+i)   = *(s2+i);
    *(s2+i)   = *(tmp+i);
  }
}

int main(void)
{
  char str1[CHAR_LENGTH] = "START";
  char str2[CHAR_LENGTH] = "FINISH";

  fprintf(stdout,"str1:%s str2:%s\n",str1,str2);
  strchange(str1,str2);
  fprintf(stdout,"str1:%s str2:%s\n",str1,str2);

  return 0;

}

てか、id:tek_kocさんのほぼ写し+コメント参考です。
C言語は最近、触ってないので復習必要だわ。