5634。fun1中a,b是形参,调用后输出56。因为你定义了a=1,b=2为全局变量,他们的作用域是整个程序,所以调用fun2时,就将全局变量a改为了3,b改为4。接着就输出了34
#include
int a=1,b=2;//在函数外部定义的,是全局变量
//题不规范,缺少函数的ANSI C原型声明
void fun1(int a,int b);
void fun2();
void fun1(int a,int b)
{printf("%d %d",a,b);}
void fun2()
{a=3;b=4;}
main()
{
fun1(5,6);//传递的是实参,改变了a和b的值
//输出“5空格6”,并且a=5,b=6
fun2();//因为a、b是全局变量,fun2函数对a、b的改变在main函数中仍然有效
printf("%d %d\n",a,b);//接着“5空格6”后面输出“3空格4回车”
//所以输出是5 63 4
}
5,6
3,4
我用VC6.0运行过了,函数fun1,先执行输出5,6然后执行fun2此时a,b被重新赋值为3,4然后输出
若有帮助 望采纳!
结果是5612
56
12
结果:1,2 3,4