新聞中心

        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不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长丰县| 玉树县| 晋宁县| 兴化市| 伊宁县| 柘城县| 子长县| 长汀县| 龙山县| 郓城县| 化隆| 怀安县| 德安县| 修水县| 大安市| 中牟县| 扬州市| 涿州市| 滦南县| 黄大仙区| 华容县| 二连浩特市| 始兴县| 右玉县| 嘉黎县| 辉县市| 康保县| 阳朔县| 广宗县| 潼南县| 清河县| 丹江口市| 景泰县| 龙山县| 拉萨市| 青河县| 乡宁县| 金乡县| 三亚市| 大理市| 乌海市|