C语言 程序填空题

C语言程序填空题麻烦解释一下这个题的运行过程谢谢... C语言 程序填空题麻烦解释一下这个题的运行过程 谢谢 展开
 我来答
My_Persistence
2017-12-25 · TA获得超过3466个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:420万
展开全部
答案:15,64 6(由于有些输出中间没有空格,所以输出是连在一起的了),分析如下:
#include<stdio.h>
int k=1;
void main()
{
int i=4;
void fun(int m);
fun(i);  //调用函数
printf("%d %d\n",i,k);  //变量i=4,全局变量k的值是6,所以输出4 6
}
void fun(int m)
{
m+=k; k+=m; //这里m=4,全局变量k=1,所以m=m+k=4+1=5,k=k+m=1+5=6
{
char k='B'; //定义了局部变量k,在花括号{}这个代码块内,屏蔽了全局变量的k
printf("%d",k-'A');  //这里由于只有局部变量k起作用而k='B',输出1。
}
printf("%d,%d",m,k); //出了花括号后,局部变量的作用域结束了,全局变量的k又开始起作用,所以输出5,6
}
imkarayi9d4f
2017-12-25 · TA获得超过1552个赞
知道小有建树答主
回答量:1164
采纳率:85%
帮助的人:596万
展开全部
#include <stdio.h>
int k=1;
int main()
{
int i=4; //初始化变量 i=4 
void fun(int m); //使用 fun 函数前,先声明 fun 函数
fun(i); //调用 fun 函数 
printf("%d %d\n",i,k); //这里输出:4 6,因为i=4,k=6 
return 0; 
//最后输出结果:15,64 6
}
void fun(int m)
{
m+=k;k+=m; //m=4,k=1,相加后 m=5 ,k=1+5=6 
{
char k='B'; //k改变了字符'B',即ASCII码为66 
printf("%d",k-'A'); //这里输出:1,因为字符'A'相当于65,66-65=1 
}
printf("%d,%d",m,k); //这里,输出:5,6
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式