中易网

#include <stdio.h> c语言选择题

答案:2  悬赏:60  
解决时间 2021-01-11 20:23
  • 提问者网友:酱爆肉
  • 2021-01-11 06:37
#include <stdio.h> c语言选择题
最佳答案
  • 二级知识专家网友:西风乍起
  • 2021-01-11 07:04
注意f()函数中的i为静态存储类型,变量i的生存期的整个程序退出前,每次对变量i的改变都会被保留,而变量s是默认动态存储类型,每次进入函数都被重新初始化为1
所以实际上是a=a+(1+0)+(1+1)+(1+2)+(1+3)+(1+4)
选D,15追问void main()
{ int a=2,i;
int f(int a);
for(i=0;i<3;i++) printf("%3d",f(a));}
int f(int a)
{ int b=0;static int c=3;
b++;c++;
return (a+b+c);}
答案 输出7,8,9
在这道题中,c一直保持着3 然后c++ 变成4的原因是啥

这道跟上一道有什么不同吗追答两题都是考察静态存储类型和动态存储类型的区别
依次输出的是2+1+4,2+1+5,2+1+6
所以就是7,8,9
全部回答
  • 1楼网友:胯下狙击手
  • 2021-01-11 08:32
选D,15
1、f()函数中的i为静态存储类型,变量i的生存期的整个程序,程序退出前,每次对变量i的改变都会被保留。
2、变量s是默认动态存储类型,每次进入函数f时都被重新初始化为1.
3、计算机实际的计算过程为a=a+(1+0)+(1+1)+(1+2)+(1+3)+(1+4)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息