C言語なら俺に聞け! Part 89
レス数が950を超えています。1000を超えると書き込みができなくなります。
0994デフォルトの名無しさん
NGNGint main( void )
{
char *p1, *p2;
p1 = p2 = "Winter";
while ( *p1 ) {
++p1;
}
while ( p1 > p2 ) {
--p1;
putchar( *p1 );
}
putchar( '\n' );
return 0;
}
これは、文字を逆さにして、出力するプログラムです。実行結果は "retniW"です。
ここで質問ですが、while ( p1 > p2 )の意味がわかりません。
p1とp2は違う変数なのに、同じアドレスを使っていると考えられます。
つまり、
*p1の最初の文字(=W)アドレスが100番地だとしたら、*p2の最初の文字のアドレスはそれ以外であると考えます。
私は何か検討違いをしているのでしょうか?
レス数が950を超えています。1000を超えると書き込みができなくなります。