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

admin2013-06-11  42

问题 以下程序的输出的结果是(  )。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、33
B、22
C、26
D、25

答案4

解析 本题首先定义一个全局变量x并赋初值为3,主函数中使用这个全局变量控制循环次数,循环执行了2次,调用两次incre()函数。第一次调用incre(),定义一个静态变量x并赋初值1,然后执行“x*=x+1”,使x的值变为2:第二次调用incre()函数时,静态变量将保留上—饮退出时的值即2,执行语句“x*=x+1”后,x的值变成6,输出x的值为6。所以,4个选项中C为所选。
转载请注明原文地址:https://jikaoti.com/ti/ucn0FFFM
0

最新回复(0)