麻烦大家给我具体解释一下这段代码多大的意思,谢谢啦

#include
int a=4,c=3;
void main( )
{

void f1(int a,int b);
int a=5,b;

b=a+c;
a=a+c;
c=a+1;
f1(a,b);
printf("%d,%d,%d\n",a,b,c);

}
void f1(int a,int b)
{

int c=3;
a=a+c;
c=a+b;
printf("%d,%d,%d\n",a,b,c);

}

麻烦大家给我具体解释一下这段代码多大的意思,谢谢啦

这代码没有任何实际的含义,只是构成了一个合法的程序。也许程序的意图是告诉你,当全局变量和函数参数重名的时候,函数内用的是哪个变量。

子函数f1的声明应该在main函数前面声明吧?
a=5,b=5+3=8,a=5+3=8,c=8+1=9
经过子函数后,a=8+3=11,b和c不变。
故 子函数输出分别为 a=8+3=11,b=8,c=11+8=19
主函数的输出是 11 8 9

我想这个是考察变量的作用域,函数的返回值的问题吧。