c變數
變數的類型和作用域
在main函數內部是函數作用域
int main(void){
auto int value = 0;
}
auto 表示的是變數的類型。自動變數 記憶體就會自動分配,退出作用域 記憶體就會自動銷毀。
下面的是塊作用域
{
auto int va = 0;
}
double Add(double a,double b);
靜態變數
1 作用域是全局的,記憶體不會因函數退出而銷毀
2 初值(如果是int)默認是0
自動變數
1 函數、塊作用域 隨著函數和塊退出而銷毀
2 沒有默認的初始值,所以一定要初始化。
遞歸
漢諾塔問題
首先要了解定義
第一步是:
第二步是:
最後一個:
void Move(int n,char src,char dest,char tmp){
if (n==0)return;
else if (n==1)printf("%c -->%c\n",src,dest);
else{
Move(n-1,src,tmp,dest);
Move(1,src,dest,tmp);
Move(n-1,tmp,dest,src);
}
}
int main() {
printf("Hello, World!\n");
Move(3,'a','b','c');
return 0;
}
結果
Hello, World!
a –>b
a –>c
b –>c
a –>b
c –>a
c –>b
a –>b