问题 单项选择题

以下程序的输出结果是( )。
#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。

解答题
单项选择题