亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

若想按次序創(chuàng)建各個節(jié)點(diǎn)則需要使用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類型換行不被接收,因?yàn)閾Q行符可以作為字符被接收,

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

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

 總結(jié)

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

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

相關(guān)文章

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

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

    這篇文章主要介紹了C++ 動態(tài)內(nèi)存的的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 詳解C語言面向?qū)ο缶幊讨械姆庋b

    詳解C語言面向?qū)ο缶幊讨械姆庋b

    這篇文章主要為大家詳細(xì)介紹了C語言面向?qū)ο缶幊讨械姆庋b,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++關(guān)于size_t的bug解決案例

    C++關(guān)于size_t的bug解決案例

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

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

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

    C++空類詳解

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

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

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

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

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

    C語言中的狀態(tài)機(jī)設(shè)計(jì)深入講解

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

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

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

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

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

最新評論