void itoa(int n,char s[]) { static int i=0; //為什么一定要用靜態變量???if(n<0) { s[i++]='-'; n=-n; } if(n/10) itoa(n/10,s); s[i++]=(n%10+'0'); s[i]='\0'; }
2 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
1,printf()函數是格式化輸出函數, 一般用于向標準輸出設備按規定格式輸出信息。
2,printf()函數的調用格式為: printf("<格式化字符串>", <參量表>)。
3,格式輸出,它是c語言中產生格式化輸出的函數(在 stdio.h 中定義)。用于向終端(顯示器、控制臺等)輸出字符。格式控制由要輸出的文字和數據格式說明組成。要輸出的的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些轉義字符表示特殊的含義。
4,作用:在c語言中產生格式化輸出的函數(定義在 stdio.h 中),其向終端(顯示器、控制臺等)輸出字符。

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
這個函數的功能是將一個int型數據n 轉換成char型數據并儲存到數組s中
i必須用靜態變量,因為i代表著數字n的位數。這個函數是遞歸實現的,如果不把i設置為靜態,那么每次調用i都會變成0,這樣就無法保存n的每一位的數字了。所以要運用靜態局部變量的性質,即只會被初始化一次。這樣變量i的值就隨著函數的調用而改變。
- 2 回答
- 0 關注
- 143 瀏覽
添加回答
舉報
0/150
提交
取消