中易网

C程序解释,尤其是这一句 k=fun(j,m);printf("%d\n",k);

答案:3  悬赏:40  
解决时间 2021-01-13 16:56
  • 提问者网友:欲望失宠
  • 2021-01-13 04:53
C程序解释,尤其是这一句 k=fun(j,m);printf("%d\n",k);
最佳答案
  • 二级知识专家网友:动情书生
  • 2021-01-13 06:07
输出结果为:5 11
解释如下:
#include
fun(int x,int y)
{
static int m=0,i=2; //m和i静态变量,只初始化一次
i+=m+1;m=i+x+y; //这里i=i+m+1,m=i+x+y;
return m;
}
main()
{
int j=1,m=1,k; //这里的变量m和fun函数中的变量m是不同的,不要混淆了
k=fun(j,m);printf("%d",k); //这里执行fun(1,1)后,i=i+m+1=2+0+1=3,m=i+x+y=3+1+1=5,输出K为5
k=fun(j,m);printf("%d\n",k); //这里执行fun(1,1)后,fun中i=3,m=5,所以i=i+m+1=3+5+1=9,m=i+x+y=9+1+1=11,输出K为11
}
全部回答
  • 1楼网友:洒脱疯子
  • 2021-01-13 07:55
将返回值输出
  • 2楼网友:大漠
  • 2021-01-13 07:25
kjhvh
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息