前些日子看書看到的一個C語言的格式說明符----%n ,蠻有意思的,拿來與大家分享下。
printf可不只是一個輸出函數哦,這個%n就是把字符串的長度,寫進一個變量。
看代碼吧,好理解。
#include <stdio.h> void main() { int lenA; int lenB; printf("Hello%n\n",&lenA); printf("Hello%n World!\n",&lenB); printf("%d\n",lenA); printf("%d\n",lenB); }
最後輸出的lenA,lenB的都是5;那說明獲得字符串的長度只是%n前面的。
蠻有意思的吧,以前以爲printf只是個輸出函數,沒想到也可以當輸入用。
------------------------------------------------------------------------------------------------------------------------
--------------錯誤記錄---------------
當C用malloc或C++中new動態分配內存時,一定要在合適的時候釋放掉,我今天就是沒有釋放動態的分配內存。
還有就是sizeof不能對於動態分配內存的指針使用,這可是要記得啊,我今天在這上面可是栽了個跟頭啊,如果你這樣寫了,那可是調試都都調試不出來的,我就是這樣,明明調試正確,一運行就出錯。
寫下自己的錯誤,也希望看過的人,以後可可以避免·····