C言語なら俺に聞け(入門篇) Part 6
■ このスレッドは過去ログ倉庫に格納されています
0400デフォルトの名無しさん
2007/01/11(木) 15:10:41文字列を逆順からコピーする関数のプログラミングの作業中に疑問が発生しました。
下記のNGソースはコンパイラはNGを出しませんが結果がNGです。
具体的にどのような理由で結果が正しく出ないのでしょうか。当方の実力では分かりかねますので
解説の程よろしくお願い致します。
引数1はコピー元となる文字列の先頭アドレスを渡しており引数2は逆順コピー先
となる配列の先頭アドレスを渡しております。
// NG
void strrev ( char *c_array , char *c_carray ) {
int i = 0 ;
while ( *c_array++ ) i++ ;
while ( i ) *c_carray = c_array[--i] ;
*c_carray = 0x00 ;
}
//OK
void strrev ( char *c_array , char *c_carray ) {
int i=0;
while ( c_array[++i] ) ;
while ( i ) *c_carray++ = c_array[--i] ;
*c_carray = 0x00 ;
}
■ このスレッドは過去ログ倉庫に格納されています