以下程序的输出结果是( ) int d=1; fun(int p) { static int d=5; d+=P: printf("%d",d); return(d); } main() {

admin2010-04-24  44

问题 以下程序的输出结果是(    )    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*/
   }
转载请注明原文地址:https://jikaoti.com/ti/3ntaFFFM
0

最新回复(0)