欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中關于scanf函數(shù)的一些問題詳解

 更新時間:2022年01月07日 15:11:06   作者:風雪宜哉  
這篇文章主要為大家介紹了C語言中關于scanf函數(shù)的一些問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

在學習創(chuàng)建二叉樹時遇到了scanf的一些問題,在此記錄下來

創(chuàng)建根節(jié)點A后理想情況是輸入A的左子樹,若不為空繼續(xù)創(chuàng)建左子樹,但輸入A后發(fā)現(xiàn)重復創(chuàng)建了一個左子樹,測試后發(fā)現(xiàn)輸入A換行后scanf函數(shù)接收了換行符(ASCII碼10)

若想按次序創(chuàng)建各個節(jié)點則需要使用getchar()吸收換行符

 不接收換行符也可以輸入一個完整的二叉樹序列,也可以成功創(chuàng)建。

void CreateBiTree(BiTree &T)
{
    char ch, temp;
    scanf("%c", &ch);
    temp = getchar(); //換行輸入則需要吸收換行
    if (ch == '#')
    {
        T = NULL;
        return;
    }
    else
    {
        T = (Tree *)malloc(sizeof(Tree));
        T->data = ch;
        printf("請輸入%c的左子樹:", ch);
        CreateBiTree(T->lchild);
        printf("請輸入%c的右子樹:", ch);
        CreateBiTree(T->rchild);
    }
}

 測試后發(fā)現(xiàn)若有多個scanf()例如

輸入AB換行,多余的scanf會接收換行符。

若是Int類型換行不被接收,因為換行符可以作為字符被接收,

在多個scanf的情況下可以一行輸入多個數(shù)據,會依次接收這些數(shù)據,

 第一行輸入1,2,兩個scanf接收了1,2;

 總結

Scanf傳遞字符會接收換行符,避免則須在換行時吸收多余傳遞的換行符,(getchar傳遞字符同理),若有多個scanf(如循環(huán),嵌套)允許一次輸入多個數(shù)據,scanf依次接收它們。

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • 一文搞懂C++ 動態(tài)內存

    一文搞懂C++ 動態(tài)內存

    這篇文章主要介紹了C++ 動態(tài)內存的的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • 詳解C語言面向對象編程中的封裝

    詳解C語言面向對象編程中的封裝

    這篇文章主要為大家詳細介紹了C語言面向對象編程中的封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++關于size_t的bug解決案例

    C++關于size_t的bug解決案例

    這篇文章主要為大家介紹了C++關于size_t的bug解決案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • C++中靜態(tài)成員函數(shù)與靜態(tài)成員變量(static )

    C++中靜態(tài)成員函數(shù)與靜態(tài)成員變量(static )

    這篇文章主要介紹了C++中靜態(tài)成員函數(shù)與靜態(tài)成員變量(static )的相關資料,需要的朋友可以參考下
    2017-06-06
  • C++空類詳解

    C++空類詳解

    以下是對C++中的空類進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C++實現(xiàn)職工工資管理系統(tǒng)

    C++實現(xiàn)職工工資管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單的職工工資管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Cmake中強大的輸出函數(shù)message示例解析

    Cmake中強大的輸出函數(shù)message示例解析

    這篇文章主要介紹了Cmake中強大的輸出函數(shù)message解析,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • C語言中的狀態(tài)機設計深入講解

    C語言中的狀態(tài)機設計深入講解

    這篇文章主要給大家介紹了關于C語言狀態(tài)機設計的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • QT5交叉編譯入門級教程(arm64、mips64)

    QT5交叉編譯入門級教程(arm64、mips64)

    交叉編譯就是在當前系統(tǒng)平臺上,開發(fā)編譯運行于其它平臺的程序,比如本文硬件環(huán)境是x86平臺,但是編譯出來的程序是在arm64架構、mips64等架構上運行,本文給大家分享QT5交叉編譯入門級教程(arm64、mips64),感興趣的朋友一起看看吧
    2023-11-11
  • C語言實現(xiàn)實時鐘表

    C語言實現(xiàn)實時鐘表

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)實時鐘表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論