试题与答案

以下程序的输出结果是( ) int d=1; fun(int p)

题型:单项选择题

题目:

以下程序的输出结果是( )
int d=1;
fun(int p)

static int d=5;
d+=P:
printf("%d",d );
return(d );

main()

int am=3;
printf("%d\n",fun(a+fun(d ))):

A.6 9 9
B.6 6 9
C.6 15 15
D.6 6 15

答案:

参考答案:C

解析:
int d=1;
fun(int p)
{
static int d=5;/*变量d被定义为static存储类型的int整型变量,作用域仪限两数fun(int p)内。函数fun(int p)被执行之后变量d仍然存在,再次执行函数fun(int p)时所使用的变量d的值是上次调用函数fun(int p)时d所得到的新值。*/
d+=P;
printf("%d",d );/*每次调用都会打印输出d的值*/
return(d );/*返回d的值*/
main()
{
int a=3;
printf("%d\n",fun(a+fun(d )));/*此处调用函数fun(int p)时,所用的变量d为整个程序段头所定义的d*/
}

试题推荐
微信公众账号搜索答案