问题 单项选择题

以下程序的输出的结果是 int x=3; main() { int i;for (i=1;i<x;i++) incre(); } incre() { staic int x=1;x*=x+1;printf(" %d",x); }

A.3 3

B.22

C.26

D.25

答案

参考答案:C

解析: 本题首先定义一个全局变量x并赋初值为3,主函数中使用这个全局变量控制循环次数,循环执行了2次,调用两次tncre()函数。第一次调用incre(),定义一个静态变量x并赋初值1,然后执行“x*=x+1”,使x的值变为2;第二次调用incre()函数时,静态变量将保留上一次退出时的值即2,执行语句“x*=x+1”后,x的值变成6,输出x的值为6。所以,4个选项中C为所选。

单项选择题
选择题