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

以下程序运行后的输出结果是 ______。 int d=1; fun(int p) {static int d=5;d+=p; printf('%d',D) ;return d; } main() {int a=3; printf('%d/n,fun (a+fun(D) ));}
D.6615

A.699
B.669
C.61515

【参考答案】

C
解析:静态局部变量在编译时赋初值,即只赋初值一次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。本题在程序开头定义了全局变量d并赋初值......

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