#include<stdlib.h>
#define N 5//標識符常量(宏定義常量),值不可改
int add(int arr[]);//計算函數
void out(int num5);//輸出函數
static int num2=0;//靜態全局變量,作用域變小,本文件可使用
{
//注:C語言中const常量保存在內存中(內存可見)。C++中保存在寄存器和內存中,運行時優先使用寄存器中值,
//若內存中值被改變,則內存值不等寄存器值出錯,加關鍵字volatile保證內存可見性解決。
const int num3=N;//定義常量,num3值不可變,但可通過地址改變,
int arr[N]={0};//局部變量,作用域爲main函數,/num3不可代替N值,即arr[num3]!=arr[N]==arr[5]
enum sex{//枚舉常量
one=1,//第一個值默認值爲0,
two,//第一個值+1
three//第一個值+2
}num4;//枚舉變量名
{
printf("\n*********************\n");
printf("\n輸入選擇(輸入1,計算2,輸出結果3):");
scanf("%d",&num4);
switch(num4)
{
case one://one=1
printf("\n********************\n");
put(num3,arr);
break;
case two:
printf("\n********************\n");
num1=add(arr);//arr[num3]??
break;
case three:
printf("\n********************\n");
out(num1);
break;
default:
printf("輸入錯誤\n");
break;
}
}
return 0;
}
{
register int i=0;//寄存器變量,(寄存器變量無地址操作)
for(i=0;i<num3;i++)
{
printf("輸入第%d個數:",i);
scanf("%d",&arr[i]);
}
}
{
int num6=0;//每次調用add函數num6清0,
//num2靜態變量,生命週期變長,出了代碼塊後不消毀,也不會再次初始化。下一次num2=num2(上)+arr[i]
static int num5;
for(num2=0;num2<N;num2++)
{
num5+=arr[num2];
}
num6+=num5;//此函數結束後num6銷燬,每次num6=0+num2。否則下一次num6=num6(上)+num2
printf("計算完成\n");
return num6;
{
printf("結果:%d",num1);
}