c itoa函式的遞迴實現 及static小插曲

2021-09-25 23:48:21 字數 654 閱讀 4416

測試對靜態變數宣告及定義疑問同時,給出itoa函式(把整數轉換為字串)的實現。

#include#include#define maxsize 100

char s[maxsize];

void itoa1(int n, char s)//該程式僅供測試靜態宣告,無法將負數正確轉換

if(n/10 > 0)

itoa1(n / 10, s);

static int i = 0; // #2 n為負數時,該語句當作:i = 0;而非經初次宣告定義後直接跳過。

s[i++] = n % 10 + '0';

s[i] = '\0';

}void itoa2(int n, char s)//能轉換,但不能處理最大負數的情況。

if(n/10 > 0)

itoa2(n / 10, s);

s[i++] = n % 10 + '0';

s[i] = '\0';

}void itoa3(int n, char s)//nb

s[i++] = abs(n % 10) + '0';

s[i] = '\0';

}int main()

參考書目《the c program language》

遞迴函式及尾遞迴

自己呼叫自己的函式,一去一回就是遞迴函式 示例一 def digui n print n,1 if n 0 digui n 1 print n,2 digui 5 示例二 階乘 num 1 def func n global num if n 0 func n 1 num n return num ...

遞迴函式及memset函式

原始思路 剛開始學習遞迴,開始的思路是直接暴力遞迴,當a,b,c為1 10的計算時還可以計算出結果,但是當數值變大後,一直得不出結果 上網查後得到新的方法 將計算後的資料儲存在三維陣列中,未計算的資料通過遞迴計算得到。以下為 標頭檔案 memory.h memset void s,int ch,si...

遞迴的函式實現舉例

1.遞迴和非遞迴分別實現求第n個斐波那契數。2.編寫乙個函式實現n k,使用遞迴實現 3.寫乙個遞迴函式digitsum n 輸入乙個非負整數,返回組成它的數字之和,例如,呼叫digitsum 1729 則應該返回1 7 2 9,它的和是19 4.編寫乙個函式 reverse string char...