找考题网-背景图
未分类题

以下程序的输出结果是______。 int x=3; main() { int i; for(i=1; i<x; i++) incre(); } incre() { static int x=1; x*=x+1; printf(' % d', x); }
A.3 3
B.2 2
C.2 6
D.2 5

A.3
B.2
C.2
D.2

【参考答案】

C
解析:C语言规定如果全局变量与局部变量同名,则在局部变量的作用域内全局变量不起作用。程序开头定义的变量x为全局变量,函数incre中定义的变量x是局部静态变量,存放在静态存储区,incre调用结束后不释放x占据的存储单元。main函数中使用的x是全局变量x=3,所以main函数中调用函数......

(↓↓↓ 点击‘点击查看答案’看完整答案 ↓↓↓)