以下程序的输出?
#include
int main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
return 0;
}
(A) 4 3 2 1
(B) 1 2 3 4
(C) 0 0 0 0
(D)编译器错误答案: (C)
说明:函数的所有调用之间共享一个静态变量。给定程序中对main()的所有调用都共享相同的i。在对main()的所有调用中,我在printf()语句之前变为0。
这个问题的测验