有以下程序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”,

admin2006-03-15  29

问题 有以下程序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

解析 s的两次赋值依次为:
   s=s+f(&a)=0+5=5;此处的a为局部变量。
   s=s+f(&a)=5+2=7;此处的a为全局变量。
转载请注明原文地址:https://jikaoti.com/ti/OUS0FFFM
0

最新回复(0)