C语言这个怎么做谢谢谢谢
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
4个回答
展开全部
楼主治好了我多年的颈椎病~~~~~回归主题
fun(j=4,m=1) //代入计算 可知返回值m应该为8
第一次打印的值应该为8;
下一次调用前要知道 fun()函数里有个static关键词,意思是全局静态变量,也就是说,在上一次调用的m,i值都没有变,下一次调用到m或者i时将不会初始化。所以 我们来看一下第二次调用的过程
fun(int j=4,int m=1){
i=3+8+1;
m=12+4+1;}//返回值m应该为17
第二次打印应该为17,
更多追问追答
追问
还可以问你一个问题吗
可以吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int fun(int x, int y)
{
//m 和 i 都是static类型的变量,所以它们的值会一直保持直到程序结束
static int m=0, i=2;
i = i+m+1;
m = i+x+y;
return m;
}
int main(void)
{
int j=4, m=1, k;
//调用fun函数,这时 j=4,m=1,fun函数返回的值是((2+0+1)+4+1)=8
k = fun(j,m);
printf("%d,",k);
//调用fun函数,这时 j=4,m=1,fun函数返回的值是((3+8+1)+4+1)=17
//因为在fun函数里面,i的值已经变成3,m的值已经变成8
k = fun(j,m);
printf("%d\n",k);
return 0;
}
更多追问追答
追问
还可以问你一个问题吗
可以吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案8,17 。
追问
还可以问你一个问题吗
可以吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出8,17
更多追问追答
追问
还可以问你一个问题吗
可以吗
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询