k=4,m=1
十年的通榆网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整通榆建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“通榆网站设计”,“通榆网站推广”以来,每个客户项目都认真落实执行。
fun(k,m): a=k=4,b=m=1,函数中的变量m由于与main中的充满不妨起别名为mm
mm=0,i=2
i+=mm+1;[i=i+mm+1=2+0+1=3]
mm=i+a+b;[mm=3+4+1=8]
return(mm); [函数返回值=8]
p=fun(k,m);[p=fun(4,1)=8]
printf输出:8,
fun(k,m): a=k=4,b=m=1
mm=8,i=3 [由于mm是静态变量会保存上次调用后的结果,i也是]
i+=mm+1;[i=i+mm+1=3+8+1=12]
mm=i+a+b;[mm=12+4+1=17]
return(mm); [函数返回值=17]
p=fun(k,m);[p=fun(4,1)=17]
printf输出:17换行
总输出:8,17
如图:
本题的难点在于f()函数中的i是static,每调用这个函数一次,i的值就增加1,而s的值每次都是1。
(a)。C ---A中语句结束没有分号,B中参数分割用了分号,应该是逗号隔开,D中y没有类型
2. B ---A中地址传递应该用指针或数组名,这个是双向值传递。
3. 应该是B吧,函数内部不能嵌套定义函数。但是函数可以嵌套调用
4.D 循环中c是静态变量,存储在全局区域,b是局部变量存在栈区,在第一次I=0时,a+b+c=7(2+1+4)返回7后,函数f(int a)调用退出,静态数据c仍为4而b由于函数的返回而数据丢失
进入第二次循环I=1时,所以a+b+c就是2+1+5=8,同理3
5. 15 开始调用sub(5),由于i=5,所以执行a=n+sub(n-1)=5+sub(4),这时又调用sub(4),执行else后语句为a=5+(n+sub(n-1))=5+4+sub(3),依次类推直到n=1,就是5+4+3+2+1=15
6。 在哪里填空?怎么在函数gongyue(int,int)中还有主函数中得a,b变量啊,搞错了吧!题目在写下看看~