2个回答
展开全部
答案: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
}
展开全部
#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
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询