zoukankan      html  css  js  c++  java
  • 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不能对于动态分配内存的指针使用,这可是要记得啊,我今天在这上面可是栽了个跟头啊,如果你这样写了,那可是调试都都调试不出来的,我就是这样,明明调试正确,一运行就出错。

    写下自己的错误,也希望看过的人,以后可可以避免·····

    ----------------------------------------------在穷无非讨饭,不死终会出头。
  • 相关阅读:
    poj 1017 Packets
    hdu 1058 The sum problem
    HDU 1205 吃糖果
    Hdu 1004 Let the Balloon Rise map解决方法
    poj 1700 贪心算法(1)
    大数计算器
    大整数的加减乘除取模
    【单调队列】poj 2823 Sliding Window
    【单调队列】bzoj 1407 [HAOI2007]理想的正方形
    【单调队列+二分查找】bzoj 1012: [JSOI2008]最大数maxnumber
  • 原文地址:https://www.cnblogs.com/scrat/p/2724924.html
Copyright © 2011-2022 走看看