新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式學習筆記(2)--scanf使用常見問題及解決方法

        嵌入式學習筆記(2)--scanf使用常見問題及解決方法

        作者: 時間:2012-08-27 來源:網絡 收藏

        C語言的時候,printf()是我們學到的第一個函數,相信“hello world”這個例子大家都不會陌生吧,接著就是scanf()這個函數了,這個函數的功能是格式輸入,它的函數原型是:

        本文引用地址:http://www.104case.com/article/148534.htm

        int scanf(cONST char *format,…);

        這個函數的基本用法這里就不說了,這里介紹一些這個函數中常見的問題及

        第一,連續輸入兩個或多個字符的時候,第二次輸入直接跳過了如:

        int main()

        {

        char a,b;

        scanf(“%c”,a);

        scanf(“%c”,b);

        return 0;

        }

        輸入 a回車 然后就退出了。

        這個問題有很多說法有說是緩沖區沒有清除,有說stdin這個流的問題,這里我們不去追究,這里介紹幾個這種問題的

        int main()

        {

        char a,b;

        scanf(“n%c”,a);

        scanf(“n%c”,b);或 scanf(“ %c”,b);%c前有空格

        return 0;

        }

        這次再編譯一下就沒有問題了。

        第二,scanf()函數輸入一句話的時候,如:

        int main()

        {

        char string[50] ;

        scanf(“%s”,string);

        printf(“%sn”,string);

        return 0;

        }

        輸入:hello world!

        結果:hello

        顯然這個結果沒有達到我們的要求。

        int main()

        {

        char string[50] ;

        scanf(“%[^n]”,string);

        printf(“%sn”,string);

        return 0;

        }

        重新編譯一下,沒有問題了吧!

        這里如果要是連續輸入多個語句的話也會出現連續輸入字符的那種問題,當然解決方法也相同了。

        這里是最常見的幾個問題,可能還有其他的解決方法,希望和大家相互交流,能力有限有問題希望大家多多指教。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永吉县| 临朐县| 莱州市| 左贡县| 若尔盖县| 西藏| 青阳县| 拉萨市| 双城市| 杂多县| 宁蒗| 陵川县| 香河县| 洪泽县| 佳木斯市| 临邑县| 松滋市| 通城县| 竹溪县| 蓬莱市| 石楼县| 页游| 西安市| 邯郸县| 岐山县| 阳谷县| 农安县| 涞源县| 应城市| 阳城县| 南充市| 二连浩特市| 南靖县| 黄平县| 扬中市| 青州市| 茂名市| 澄迈县| 玛沁县| 桃园县| 长宁区|