收藏本站   
欢迎来到答案网! 请  登录  |  注册 
   
答案网
  
 
 首页 | 语文答案 | 数学答案 | 英语答案 | 物理答案 | 化学答案 | 历史答案 | 政治答案 | 生物答案 | 地理答案 | 课后答案 | 日记大全 | 作文大全 | 句子大全 | 美文阅读
 练习册答案 | 暑假作业答案 | 寒假作业答案 | 阅读答案 | 学习方法 | 知识点总结 | 哲理小故事 | 祝福语大全 | 读后感 | 名人语录 | 题记大全 | 造句大全 | 心情不好的说说
提问 

以下程序运行后的输出结果是()_。 int d=1; fun(int p) static int d=d; d+=p


时间: 2019-12-2 分类: 作业习题  【来自ip: 15.186.173.103 的 匿名网友 咨询】 手机版

  网友答案:
匿名网友
匿名网友
1楼
答案:C
解析: 静态局部变量在编译时赋初值,即只赋韧值一次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。 本题在程序开头定义了全局变量d并赋初值1,在被调函数fun()中,定义了静态局部变量d,初值为5。在第一次调用函数fun时,d初值为5,p由主函数传递过来的值为1,则d=d+p=5+1=6,由于d是静态局部变量,在函数调用结束后,它仍保留d=6。再次调用fun函数,d的初值为6,而由主函数传递的p的值为9,则此时d=d+p=6+9=15,最后打印输出d的值并返回主函数。
  相关问题列表
 学习方法推荐
 课本知识点总结
 作文推荐
 答案大全
 推荐问题
 热门回答
 文库大全
答案网   www.Zqnf.com