void addNumbers();//函数原型,注:分号不能少
void main()
{
int sum=0;//声明变量同时初始化
addNumbers();//调用函数
printf(" 主函数中 sum 的值是 %d ",sum);//格式化输出sum的值
}
//被调函数addNumbers()
void addNumbers()
{
int num1,num2,sum;//声明变量
printf(" 请输入两个数:");
scanf("%d %d",&num1,&num2);//格式化输入函数
sum=num1+num2;
printf(" 子函数中 sum 的值是 %d ",sum);//格式化输出sum 的值
}
void addNumbers();//函数原型
int sum=0;//全局变量
void main()
{
addNumbers();//调用函数
printf(" 主函数中 sum 的值是 %d ",sum);
}
void addNumbers()
{
int num1,num2;
printf(" 请输入两个数:");
scanf("%d %d",&num1,&num2);
sum=num1+num2;
printf(" 子函数中 sum 的值是 %d ",sum);
}
存储类型
|
说明
|
|
auto
|
自动变量
|
局部变量在缺省存储类型的情况下归为自动变量。
|
register
|
寄存器变量
|
存放在CPU的寄存器中。对于循环次数较多的循环控制变量及循环体内反复使用的变量均可定义为寄存器变量。
|
static
|
静态变量
|
在程序执行时存在,并且只要整个程序在运行,就可以继续访问该变量。
|
extern
|
外部变量
|
作用域是整个程序,包含该程序的各个文件。生存期非常长,它在该程序运行结束后,才释放内存。
|
void format() //被调函数应放在调用函数的前面
{
static int m = 0; //静态局部变量,它的值将保留前次被调用的结果
m++;
if (m % 10 == 0)
putchar(' ');
else
putchar(' ');
}
void main()
{
int i;
for(i=0;i<50;i++)
{
printf("%d",i);
format();//调用函数
}
}
void func(int);
void main()
{
int a = 0; //初始化a值为0
func(a); //调用函数func
printf("%d",a); //输出a的结果
}
//定义函数func
void func(int a)
{
a = 10; //让参数a等于10
}
void func(int);
void main()
{
int a = 0; //初始化a值为0
func(&a); //调用函数F
printf("%d",a); //输出a的结果
}
//定义函数F
void func(int *a)
{
*a = 10; //让参数a等于10
}
#define N 5
void sort(float[]);
void main()
{
float grade[N];
int i;
printf(" 输入 %d 个学员的成绩: ",N);
for(i=0;i<N;i++)
scanf("%f",&grade[i]);
sort(grade);
printf(" 排序后的成绩为: ");
for(i=0;i<N;i++)
printf("%5.2f ",grade[i]);
printf(" ");
}