有简单的代码
int a( int *p0 ) {
int p;
if( p0 ) return p0 > &p;
return a(&p);
}
int main() {
puts( a(0) ? "y" : "n" );
}
将会调用什么结果以及调用方法a
多少次?
答案 0 :(得分:6)
如果指针不是同一个数组的一部分,则使用>
比较指针是未指定的。
所以没有实际的答案,尽管你可以假设如果堆栈增长if( p0 ) return p0 > &p;
将为真,否则为假。