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(" ");
}