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

为什么答案是D?

为什么答案是D?

C
慕粉3847971 2016-09-17 21:39:20
解释说fun1()里的a和b是局部变量,fun2()里的a和b是全局变量,所以我不懂int a=1,b=2这语句是什么?#include <stdio.h> int a=1, b=2; void fun1( int a, int b ) { printf( "%d %d " ,a, b ); } void fun2() { a=3; b=4; } main() { fun1(5,6); fun2( ); printf( "%d %d\n",a, b ); } 程序运行后的输出结果是A) 5 6 1 2B) 3 4 5 6C) 1 2 5 6D) 5 6 3 4 
查看完整描述

3 回答

已采纳
?
慕前端1463173

TA贡献2条经验 获得超2个赞

int a=1,b=2; 声明了两个变量a被赋值为1,b被赋值为2.这两个变量是全局变量,具有文件作用域。fun1()这个函数的变量a,b时重新声明的,与第二行的a,b可以说没有任何联系,即在做fun1()函数定义时,括号里面可以是(int c, int d),结果一样。fun2()这个函数的作用就是永久的修改了变量a,b的值。

查看完整回答
1 反对 回复 2016-09-17
?
噼喱啪啦

TA贡献392条经验 获得超170个赞

int  a=1,b=2;定义在主函数外,代表全局变量,定义完在主函数内一直保存值,结束前不释放内存。
函数的形式参数可以改符号,别被混淆了。
void  fun (int a,int b)

void fun (int x, int y)是一样的。

查看完整回答
反对 回复 2016-09-18
  • 3 回答
  • 0 关注
  • 1600 浏览

添加回答

举报

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