C++比较,结果如何?

Ser*_*huk 1 c++

有简单的代码

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

int main() {
        puts( a(0) ? "y" : "n" );
}
Run Code Online (Sandbox Code Playgroud)

结果将是什么以及a将调用多少次方法?

Pub*_*bby 6

>如果指针使用不是同一个数组的一部分,则指定使用它们是未指定的.

所以没有实际的答案,尽管你可以假设如果堆栈增长if( p0 ) return p0 > &p;是真的,否则是假的.