首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 int d=1; void fun( int p ) { int d=5; d += p++; printf("%d ", d ); } main() { int a=3; fun( a ); d += a++; printf("%d\
有以下程序 int d=1; void fun( int p ) { int d=5; d += p++; printf("%d ", d ); } main() { int a=3; fun( a ); d += a++; printf("%d\
admin
2019-06-09
19
问题
有以下程序
int d=1;
void fun( int p )
{
int d=5;
d += p++;
printf("%d ", d ); }
main() {
int a=3;
fun( a );
d += a++;
printf("%d\n",d); }
程序的输出结果是
选项
A、9 6
B、9 4
C、8 4
D、8 5
答案
C
解析
代码考查点为全局变量和局部变量的同名问题,若全局变量和某个函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,访问的是局部变量,与同名的全局变量不发生任何关系。主函数执行fun(3)时候,执行调用函数fun,使用局部变量d=5,执行d += p++,相当于d=d+(p++),得到d的值为8,输出。函数调用结束,转到主函数,继续执行d += a++,此时d为全局变量,执行语句以后,d值为4。
转载请注明原文地址:https://jikaoti.com/ti/ldf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于栈的叙述正确的是()。
若有以下程序#includemain(){inti,j=0;chara[]="Howareyou!",b[10];for(i=0;a[i];i++)if(a[i]==’’)b[j++]=a[i+1];b[
以下叙述中正确的是()。
关于算法,以下叙述中错误的是()。
下面不能作为结构化方法软件需求分析工具的是()。
软件设计中模块划分应遵循的准则是()。
设有定义:chars[81];inti=0;以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是
在数据库设计中,将E-R图转换成关系数据模型的过程属于
一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。
随机试题
控制过程实质上就是一个
正常情况下,窦房结对潜在起搏点的控制,是通过下列哪些方式实现的
以下不是药物化学研究的任务的是
男性,38岁,肝硬化病史5年,近日出现睡眠时间倒错,语言不清,血钾3.5mmol/L,血钠136mmol/L,血氯90mmol/L,血清pH值为7.48。下列检查哪项可能正常
按照企业所得税的现行规定,广播电视事业单位的下列收入不征企业所得税的有()。
货币主义与凯恩斯主义在货币政策传导变量的选择上存在不同。货币主义坚持认为,货币政策的传导变量应该选择()。
WhenLiamMcGeedepartedaspresidentofBankofAmericainAugust,hisexplanationwassurprisinglystraightup.Ratherthancl
TheGreatTransformationiscausedbyAdvancingtechnologycouldpossiblymakeus
Whendidthemanbuytheradio?
WhatdidpeopleinEgyptsearchforyears?
最新回复
(
0
)