解释说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的值。
噼喱啪啦
TA贡献392条经验 获得超170个赞
int a=1,b=2;定义在主函数外,代表全局变量,定义完在主函数内一直保存值,结束前不释放内存。
函数的形式参数可以改符号,别被混淆了。
void fun (int a,int b)
和
void fun (int x, int y)是一样的。
- 3 回答
- 0 关注
- 1600 浏览
添加回答
举报
0/150
提交
取消