问题
单项选择题
以下程序的输出结果是( )。
#include<iostream.h>
int x=3;
void main()
void fun();
int i;
for(i= 1 ;i<x;i++)
fun();
void fun()
static int x=1 ;
x*=x+ 1;
cout<<x<<" ";
A) 3, 3
B) 2, 2 C) 2, 6 D) 2, 5
答案
参考答案:C
解析: 由主函数入手,在for循环中调用fun函数,其中调用次数为2次。fun中x为静态变量,有效到文件结束,所以第一次调用为x=x*(x+1)=1*(1+1)=2,第二次调用2*(2+1)=6。