永发信息网

求解C语言题目

答案:2  悬赏:30  手机版
解决时间 2021-04-30 03:10

求解两道C语言程序设计的题目。

程序阅读题

1.写出下面程序的运行结果。

func (int a,int b)

{ static int m=0,i=2;

i+=m+1;

m=i+a+b;

return (m);

}

main ( )

{ int k=4,m=1,p1,p2;

p1=func(k,m) ; p2=func(k,m) ;

printf(“%d,%d\n”,p1,p2) ;

}

程序判断题

1.下面add函数求两个参数的和;判断下面程序的正误,如果错误请改正过来。

void add(int a,int b)

{ int c ;

c = a + b;

return (c) ;

}

最佳答案

第一题: 输出是8,17


在func函数.static int m=0,i=2; 在编译时就将m 和i定义成静态全局变量.


所以每次进入func函数并不会将m 和 i重新赋值. 所以其他也就很容易算出来了.


调用func(),传递4和1作为实参.第一次调用m=0,i=2; i+=m+1; i就等于3;


m=i+a+b; m就等于3+4+1. m=8; 将m的值返回并赋值给p1. 所以p1的值是8;


第二次调用. 由于m 和i是静态全局变量. 所以第二次进入func函数时. 并不会在执行static int m=0,i=2;


m和i的值仍然为上一次的结果, 所以m=8. i=3; 执行i+=m+1; i就等于12;


执行m=i+a+b; m就等于17;


所以最终输出是8,17



第二题:


int add(int a,int b) //由于函数返回一个整形变量. 所以返回类型要声明为int.


{ int c ;


c = a + b;


return (c) ;


}

全部回答

8,7

错误

改正:

int add(int a,int b)

{ int c ;

c = a + b;

return (c) ;

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在家无聊该怎么办//
怎么用手机以短信的方式开通红钻
魅族手机卡主了怎么办,魅族手机卡住了怎么办
云博工商代理这个地址在什么地方,我要处理点
武林外传小天位做YY武器任务?
初二的英语,要求一定要对
麒鸪蛋在什地方
太原卫校出来之后的前途怎么样?
星尘传说 高手进
城管可以爱上小贩么!
半字开头的诗词,带有帅敏二字的古诗词
谁可以教点近景魔术
潍柴动力为何一周徘徊不涨?
QQ飞车停运,在线任务会不会有影响???
如何提高大学数理化
推荐资讯
如果做这种发型对头发有什么要求吗?而且做完
眼睛看东西越来越模糊了
怎样才可以寻找到陪你后半生的人
王者荣耀怎么触发隐藏台词
蓝球赛中走步是什么?
沙市哪里有晚上做的短期工?
现在高三复习很紧张,怎样才能快速学习,掉下了
90后到底代表的是什么?
装饰公司活动主题标语,团队口号:以“金”字
谁有 可爱淘的<爱的五颗星>全集呀?
分别标着“220V 100W”和“220V 40W”的两个
我的光驱—播放器
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?