12/12/10 00:28:26.45
>>1乙
前スレ
> 986 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 20:24:53.93
> >>977
> 文字列反転関数
> void strrev(char *d)
> {
> int i;
> int len = strlen(d);
> char tmp;
> for (i = len / 2 - 1; i >= 0; i--) {
> tmp = d[i];
> d[i] = d[len - i - 1];
> d[len - i - 1] = tmp;
> }
> }
> これは、"1234"を"4321"に変換する
>
> 987 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 22:06:01.62
> 副作用かっこわるい
副作用?何?と思ったが分かった。
char* strrev(char *d) {
int i, len = strlen(d); char tmp;
for (i = len / 2 - 1; i >= 0; i--) { tmp = d[i]; d[i] = d[len - i - 1]; d[len - i - 1] = tmp; }
return &d[0];
}
なら良いのだな。
ところで、XORを利用したswapもあるんだね。
URLリンク(www8.cs.umu.se)