#include <stdio.h>
int sum(int m, int n){
int i, sum=0;
//m、n、i、sum 都是局部变量,只能在 sum() 内部使用
for(i=m; i<=n; i++){
sum+=i;
}
return sum;
}
int main(){
int begin = 5, end = 86;
int result = sum(begin, end);
//begin、end、result 也都是局部变量,只能在 main() 内部使用
printf("The sum from %d to %d is %d\n", begin, end, result);
return 0;
}
m、n、i、sum 是局部变量,只能在 sum() 内部使用;begin、end、result 也是局部变量,只能在 main() 内部使用。a=b; sum=m+n;这样的赋值没有什么区别。.c文件)和头文件(.h文件)。如果给全局变量加上 static 关键字,它的作用域就变成了当前文件,在其它文件中就无效了。我们目前编写的代码都是在一个源文件中,所以暂时不用考虑 static 关键字,后续我将会在《C语言多文件编程》专题中详细讲解。
#include <stdio.h>
//定义三个全局变量,分别表示三个面的面积
int s1 = 0, s2 = 0, s3 = 0;
int vs(int length, int width, int height){
int v; //体积
v = length * width * height;
s1 = length * width;
s2 = width * height;
s3 = length * height;
return v;
}
int main(){
int v = 0;
v = vs(15, 20, 30);
printf("v=%d, s1=%d, s2=%d, s3=%d\n", v, s1, s2, s3);
v = vs(5, 17, 8);
printf("v=%d, s1=%d, s2=%d, s3=%d\n", v, s1, s2, s3);
return 0;
}
运行结果:
int main(){
return 0;
}
这就是最简单的、可运行的C语言代码,它包含了两个作用域,一个是 main() 函数内部的局部作用域,一个是 main() 函数外部的全局作用域。
#include <stdio.h>
void func_a(){
int n = 100;
printf("func_a: n = %d\n", n);
n = 86;
printf("func_a: n = %d\n", n);
}
void func_b(){
int n = 29;
printf("func_b: n = %d\n", n);
func_a(); //调用func_a()
printf("func_b: n = %d\n", n);
}
int main(){
func_b();
return 0;
}
运行结果:
#include <stdio.h>
int n = 10; //全局变量
void func1(){
int n = 20; //局部变量
printf("func1 n: %d\n", n);
}
void func2(int n){
printf("func2 n: %d\n", n);
}
void func3(){
printf("func3 n: %d\n", n);
}
int main(){
int n = 30; //局部变量
func1();
func2(n);
func3();
printf("main n: %d\n", n);
return 0;
}
运行结果:
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有