C语言中鲜为人知的格式说明符及今天的错误记录
前些日子看书看到的一个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不能对于动态分配内存的指针使用,这可是要记得啊,我今天在这上面可是栽了个跟头啊,如果你这样写了,那可是调试都都调试不出来的,我就是这样,明明调试正确,一运行就出错。
写下自己的错误,也希望看过的人,以后可可以避免·····
----------------------------------------------在穷无非讨饭,不死终会出头。