云南宣威市委领导分工:请教各位编程高手

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 16:16:09
小弟是个编程新手,今天在看到一个C程序时百思不得其解,请各位高手给出详细解答,谢谢了
#include<stdio.h>
int test; /*定义全程变量*/
void f1(int x, float y); /*子函数说明*/
void f2(void); /*子函数说明*/
main()
{
test=5; /*给全程变量赋值*/
f1(20, 5.5); /*调用有形式参数的子函数 f1()*/
/*test的值变成115*/
f2(); /*调用f2(), test的值变为1150*/
}
void f1(int x, float y)
{
float z; /*z定义为局部变量*/
z=x*y; /*计算*/
test=test+z;
}
void f2(void)
{
int count=10; /*定义局部变量并初始化*/
test=test*count;
}

不是有注释吗

不是都写着注释吗?哪里不明白。
main()主函数调用其它函数。

程序很好懂
算法也很简单
两个子程序调用
但是有什么用吗?

是不是全程变量test值的变化搞不懂?(我记得以前都是叫全局变量的,难道改名字了?)
虽然没有在main方法中对它进行明显的赋值,但是由于test的作用域是整个文件范围内有效的,调用子函数过程中,实际上每个方法都对同一个test变量进行了操作,它的值也就随着变更了。