前些日子看书看到的一个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不能对于动态分配内存的指针使用,这可是要记得啊,我今天在这上面可是栽了个跟头啊,如果你这样写了,那可是调试都都调试不出来的,我就是这样,明明调试正确,一运行就出错。
写下自己的错误,也希望看过的人,以后可可以避免·····
本文分享了一个有趣的C语言技巧,即使用printf中的%n符号来获取字符串长度并将其存储到变量中。通过实际代码演示,解释了这一特性并指出其与常规理解的输出函数不同之处。

1590

被折叠的 条评论
为什么被折叠?



