- 4 名前:デフォルトの名無しさん mailto:sage [2012/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もあるんだね。 ttp://www8.cs.umu.se/~isak/snippets/strrev.c
|

|