<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式學(xué)習(xí)筆記(2)--scanf使用常見問題及解決方法

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

          作者: 時(shí)間:2012-08-27 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/148534.htm

          int scanf(cONST char *format,…);

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

          第一,連續(xù)輸入兩個(gè)或多個(gè)字符的時(shí)候,第二次輸入直接跳過了如:

          int main()

          {

          char a,b;

          scanf(“%c”,a);

          scanf(“%c”,b);

          return 0;

          }

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

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

          int main()

          {

          char a,b;

          scanf(“n%c”,a);

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

          return 0;

          }

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

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

          int main()

          {

          char string[50] ;

          scanf(“%s”,string);

          printf(“%sn”,string);

          return 0;

          }

          輸入:hello world!

          結(jié)果:hello

          顯然這個(gè)結(jié)果沒有達(dá)到我們的要求。

          int main()

          {

          char string[50] ;

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

          printf(“%sn”,string);

          return 0;

          }

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

          這里如果要是連續(xù)輸入多個(gè)語句的話也會(huì)出現(xiàn)連續(xù)輸入字符的那種問題,當(dāng)然解決方法也相同了。

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

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


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();