单选题
有以下程序
有以下程序
int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
}
程序执行后的输出结果是()。
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
}
程序执行后的输出结果是()。
A
45
B
50
C
60
D
55
答案解析
正确答案:C
解析:
易错
static int sum=0是静态变量
s=fun(a,5)+fun(b,4)=(1+2+3+4+5)+(15+6+7+8+9)=15+45=60
如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,也就是说,当你再次调用这个函数的时候,里面用到这个static变量时,就会发现,还是它还是上一次函数调用时的结果。
static int sum=0是静态变量
s=fun(a,5)+fun(b,4)=(1+2+3+4+5)+(15+6+7+8+9)=15+45=60
如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,也就是说,当你再次调用这个函数的时候,里面用到这个static变量时,就会发现,还是它还是上一次函数调用时的结果。
相关题目
单选题
设某中断服务程序在中断向量表的地址为0:70H,则该中断的中断类型码应是( )。
单选题
实模式下,80486管理的内存空间中,地址为00000H~003FFH中存放着( )。
单选题
80486CPU响应中断时,自动压入堆栈的信息是( )。
单选题
欲读取8259A的IMR内容,可( )。
单选题
设8259A当前最高优先级为IR5,如果要使该中断在下一循环中变为最低优先级,则OCW2应设为( )。
单选题
8086CPU的引脚中,接有硬中断信号的引脚有( )。
单选题
PC机中,确定硬中断的服务程序入口地址的是( )。
单选题
8086CPU采用什么方式,保证在有多个中断源的中断系统中,确定一个中断源并转入相应的中断服务程序( )。
单选题
当系统发生某个事件时,CPU暂停现行程序的执行转去执行相应程序的过程,称为( )。
单选题
如果有多个中断请求同时发生,系统将根据它们的优先级高低,响应优先级最高的中断请求,若要调整响应顺序,则应使用( )。
