为了账号安全,请及时绑定邮箱和手机立即绑定

输出的结果为什么是57?

输出的结果为什么是57?

C
Joker4110332 2016-12-30 00:08:16
#include<stdio.h> int a,b void fun() {     a=100,b=200; } int main() {     int a=5,b=7;     fun();     printf("%d%d\n",a,b);     return 0; }
查看完整描述

5 回答

已采纳
?
暝殇叶

TA贡献17条经验 获得超5个赞

#include<stdio.h>
int a,b;  //这里定义了全局变量
void fun()
{
    a=100,b=200;
}
int main()
{
    int a=5,b=7;  //但是你在这里用重新生成了局部变量,会在方法里覆盖上面全局变量的内容,在这个方法结束后,才会消失
    fun();
    printf("%d%d\n",a,b);
    return 0;
}


查看完整回答
1 反对 回复 2016-12-30
?
望远

TA贡献1017条经验 获得超1032个赞

#include<stdio.h>
int a,b//定义全局变量a,b
void fun()
{
    a=100,b=200;//修改全局变量a,b的值
}
int main()
{
    int a=5,b=7;//定义了局部变量a,b,全局变量被掩盖
    fun();
    printf("%d%d\n",a,b);//输出main函数的局部变量
    return 0;
}


查看完整回答
2 反对 回复 2016-12-30
?
奕吉啊

TA贡献18条经验 获得超23个赞

形参的值是不会传给实参的。 形参的存储单元是在函数调用是分配的,调用结束,形参的存储单元被释放。
查看完整回答
1 反对 回复 2016-12-30
?
Rommel_

TA贡献1条经验 获得超0个赞

你在main中定义了局部变量,去掉int就好

查看完整回答
反对 回复 2016-12-30
?
是梦境与我为邻0

TA贡献1条经验 获得超0个赞

函数中的a,b为局部变量,函数调用结束就没有了。
查看完整回答
反对 回复 2016-12-30
  • 5 回答
  • 0 关注
  • 1716 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信