有以下程序#include<stdio.h>int a=1:in

有以下程序#include<stdio.h>int a=1:int f(int c){  static int a=2;c=c+1.return(a++)+c;}main(){ int i,k=0;for(i=0;i<2;i++){int a=3;k+=f(a);)k+=a;printf(”%d\n”,k);程序运行结果是(  )。

问题:

[单选] 有以下程序
#include<stdio.h>
int a=1:
int f(int c)
{ static int a=2;
c=c+1.
return(a++)+c;
}
main()
{ int i,k=0;
for(i=0;i<2;i++){int a=3;k+=f(a);)
k+=a;
printf(”%d\n”,k);
程序运行结果是(  )。

A . 14
B . 15
C . 16
D . 17

参考答案:A

参考解析:

A。【解析】在主函数中,k的初值为0,首先调用函数f(3),返回值为6,k的值变为6,而函数intfun(intc)中的局部静态变量a等于3。第二次调用函数f(3)时,返回值为7,所以k-6+7—13。退出循环语句,k再加上全局变量a的值1,其最终的值为14。

联系我们

联系我们

查看联系方式

邮箱: 2643773075@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部