以下程序运行后的输出结果是()_。 int d=1; fun(int p) static int d=d; d+=p
答案:2 悬赏:10 手机版
解决时间 2021-01-30 00:33
- 提问者网友:动次大次蹦擦擦
- 2021-01-29 18:42
以下程序运行后的输出结果是()_。 int d=1; fun(int p) static int d=d; d+=p
最佳答案
- 五星知识达人网友:狂恋
- 2021-01-29 18:48
答案: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的值并返回主函数。
全部回答
- 1楼网友:青尢
- 2021-01-29 19:51
这个问题我还想问问老师呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯