有简单的代码
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将调用多少次方法?
>如果指针使用不是同一个数组的一部分,则指定使用它们是未指定的.
所以没有实际的答案,尽管你可以假设如果堆栈增长if( p0 ) return p0 > &p;是真的,否则是假的.