有以下程序( ) #include<stdio.h> int a=2; int f(int*A) {return(*A)++;} main() {int s=0; {int a=5; s+=f(&a);

admin2010-04-24  9

问题 有以下程序(    )    #include<stdio.h>    int a=2;    int f(int*A)    {return(*A)++;}    main()    {int s=0;    {int a=5;    s+=f(&a);    }    s+=f(&a);    printf("%d\n",s);    }    执行后输出结果是

选项 A、10
B、9
C、7
D、8

答案C

解析 #include<stdio.h>
   int a=2:
   int f(int*A)
   {return(*A)++;}/*返回值是*A,因为参数传递是地址传递,实参的实际值将被改变*/
   main()
   {int s=0;
    {inta=5;s+=f(&a);}/*此处使用的a是本段"{}"内所定义的变量a*/
   s+=f(&a);/*此处使用的a是全局变量a*/
   printf("%d\n",s);
   }
转载请注明原文地址:https://jikaoti.com/ti/nitaFFFM
0

相关试题推荐
最新回复(0)