博客專欄

        EEPW首頁 > 博客 > C語言的中g(shù)ets(s)和scanf("%s",s)的區(qū)別

        C語言的中g(shù)ets(s)和scanf("%s",s)的區(qū)別

        發(fā)布人:電子禪石 時間:2019-06-01 來源:工程師 發(fā)布文章

        二者都是從終端讀入字符串。功能為
        1、 gets功能為讀入一行,并將換行符轉(zhuǎn)換為字符串結(jié)束符。
        2、 scanf("%s",s);讀入時,遇到空白字符,包括空格,制表符,換行符時均會停止輸入。

        從功能上可以看出不同之處:
        1 終止條件不同。gets只有遇到\n時才會結(jié)束輸入,而scanf遇到空格或制表符時,也會結(jié)束輸入。
        比如輸入"test string\n"。
        用gets得到的字符串為"test string", 二用scanf得到的是"test"。

        2 終止后,對終止字符處理不同。
        比如輸入為"test\nabcd"。
        執(zhí)行g(shù)ets后,\n不會留在緩沖區(qū)中,即這時調(diào)用getchar得到的字符是'a'。
        執(zhí)行scanf后,\n會留在緩沖區(qū),這時調(diào)用getchar得到的字符是'\n'。

        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞:

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 彭泽县| 榆中县| 交口县| 易门县| 东兰县| 定陶县| 岳普湖县| 蒲江县| 深州市| 金寨县| 会同县| 新丰县| 邵阳市| 习水县| 寿光市| 长春市| 长治县| 庆安县| 侯马市| 乐亭县| 玉田县| 阿坝县| 胶南市| 万全县| 富蕴县| 贞丰县| 宝清县| 扶风县| 永州市| 丰原市| 长乐市| 剑河县| 乌拉特后旗| 柏乡县| 上蔡县| 定西市| 新乐市| 顺昌县| 铜山县| 宜春市| 威海市|