1

簡単なコードあり

int a( int *p0 ) {
        int p;
        if( p0 ) return p0 > &p;
        return a(&p);
}

int main() {
        puts( a(0) ? "y" : "n" );
}

どのような結果になり、何回メソッドaが呼び出されますか?

4

1 に答える 1

6

同じ配列の一部でない場合、を使用してポインタを比較すること>は指定されていません。

したがって、実際の答えはありませんが、スタックが大きくif( p0 ) return p0 > &p;なるかどうかはtrueであり、そうでない場合はfalseであると想定できます。

于 2012-06-10T11:47:56.530 に答える