首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序的运行结果是【 】。 #include <iostream> using namespace std; void fun(int &a, int b=3) { static int i=2;
下面程序的运行结果是【 】。 #include <iostream> using namespace std; void fun(int &a, int b=3) { static int i=2;
admin
2009-02-15
50
问题
下面程序的运行结果是【 】。
#include <iostream>
using namespace std;
void fun(int &a, int b=3)
{
static int i=2;
a = a + b + i;
i = i + a;
}
int main()
{
int x=5, y=2;
fun(x, y);
cout<<x<<",";
fun(x);
cout<<x<<end1;
return 0;
}
选项
答案
9,23
解析
本题主要考察C++中变量的作用域、存储类别和参数默认值的使用。本题主函数中,第1次调用fun()函数时,利用实参x和y将5和2分别赋值给形参a和b;由于形参a为传址方式传值,因此在函数fun()内部,由于a的改变:a =a+b+i=5+2+2=9。导致实参x值也变为9,因此程序第1次输出x值为9。
此后静态局部变量i值变为:i=i+a=2+9=11。
主函数第2次调用fun()时,只给出了一个实参x,其值由上述计算应该为9,而另一个参数由于fun()函数定义中为形参b指定了默认值3,因此此时程序将把3作为形参b的值代入fun()函数中去。类似上面计算有:a=a+b+i=9+3+11=23。
由于形参a采用传址方式传值,因此实参x值也随之变为23,则程序第2次输出值应该为23。故程序整体输出为“9,23”。
转载请注明原文地址:https://kaotiyun.com/show/edkp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#includeintm1(intx,inty){returnx
若有以下定义(设int类型变量占2个字节)inti=8,j=9;则以下语句:printf("i=%%d,j=%%%d\n",i,j);输出的结果是()。
已知char*s,下面正确的语句是()。
有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>1;i——){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n")
下列叙述中错误的是()。
在数据库系统的内部结构体系中,索引属于()。
下列叙述中错误的是()。
下列特征中不是面向对象方法的主要特征的是()。
设—棵树的度为3,共有27个结点,其中度为3,2,0的结点数分别为4,1,10。该树中度为1的结点数为()。
数据字典(DD)所定义的对象都包含于
随机试题
邓小平理论作为中国改革的指导思想写入国家宪法是在()
心衰患者长期卧床者应协助下肢被动运动,用意是
属于注射剂一般检查的是对于小剂量药物需要进行的检查是
世界上最早的进行死骨剔出术和剖腹术的外科学家是
下面的()属于非技术风险。
应当取得统计从业资格的人员是()。
下列情况中,允许扣除进项税的是()。
教学过程中最基本的一种关系是()
中性点不接地电网的单相接地故障出现较多时,为反应单相接地故障,常采用()。
以下_______不是静态VLAN的优点?
最新回复
(
0
)