成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何更好的進行C++代碼編譯

開發 后端
想要充分的掌握C++代碼編程技術,那么就要對C++中的結構、語句、變量、函數、預處理指令、輸入和輸出等內容進行了解掌握。

在剛剛剛開始學C++代碼時遇到一個問題,這個問題導致程序不能夠完全的進行運行,看完本文后對您一定會大有幫助,下文除了學習C++代碼的基本性質外還對C++代碼的編程進行全面研究。如下代碼:

  1. #include    
  2.   int main()   
  3.   ...{   
  4.   char a,b;   
  5.   printf("Please input the first character:");   
  6.   scanf("%c", &a);   
  7.   printf("Please input the second character:");   
  8.   scanf("%c", &b);   
  9.   printf("The two characters are %c, %c", a, b);   
  10.   return 0;   
  11.   } 

程序運行結果如下:而下面這段程序卻可以正常運行:

運行結果如下:

  1.   #include    
  2.   int main()   
  3.   ...{   
  4.   char a;   
  5.   int b;   
  6.   printf("Please input the first character:");   
  7.   scanf("%c", &a);   
  8.   printf("Please input the second integer:");   
  9.   scanf("%d", &b);   
  10.   printf("The two characters are %c, %d", a, b);   
  11.   return 0;   
  12.   } 

當時對這個問題很困惑,時間一長就慢慢淡忘了。昨天一個同學問到一個C++運算符重載的問題,如下代碼,其中的while循環起什么作用,好像注釋掉后程序運行沒什么差別:

  1. iostream& operator >> (iostream& is, b& s)   
  2.   ...{   
  3.   char temp[b::MAX] = ...{0};   
  4.   is.get();   
  5.   is.get(temp, b::MAX);   
  6.   if(strlen(temp)>0)   
  7.   ...{   
  8.   strncpy(b.str, temp, b::MAX);   
  9.   }   
  10.   while(is && is.get()!=' ')   
  11.   ...{   
  12.   continue;   
  13.   }   
  14.   return is;   
  15.   } 

果然,當輸入字符串小于b::MAX時一切正常,當超過b::MAX時,當輸入完***個字符串回車后,沒等輸入第二個字符串,程序就把b1和b2的內容都顯示出來了,而b2 的內容正是輸入的字符串超過b::MAX長度的部分,說明前面的分析是正確的。

今天又想起這個問題,突然聯想到以前C++語言的兩個scanf連用產生的問題,靈機一動,難道也是輸入緩沖區沒有自動清空產生的問題?當連續用scanf輸入兩個字符的時候,輸入***個字符后回車。

結果換行符被當作第二個字符輸入了,scanf可不會區分什么換行符還是普通字符,而當輸入一個字符,再輸入一個整數時,因為類型不匹配的原因,scanf會將換行符忽略而等待輸入正確的整數后才返回,所以得到了正確的結果,哈哈,原來如此!!!


可見,C++中的標準輸入流已經對于換行符做了處理,看來在C++中利用標準輸入處理特殊字符要自己做一些工作了

【編輯推薦】

  1. 簡介學習C++總結之談
  2. 對C++庫函數進行學習探索總結筆記
  3. C++類庫設計的基本構思與方法
  4. C++語言真的還有市場價值?
  5. C++類庫設計的基本構思與方法
責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-22 18:06:24

C++代碼

2010-01-13 18:44:03

C++編譯

2010-01-15 18:06:20

C++引用

2010-01-25 14:43:00

C++構造函數

2010-01-26 09:40:23

C++代碼

2010-01-20 13:29:40

C++環境

2010-01-15 16:25:48

學習C++

2010-01-15 19:28:59

C++

2010-01-15 17:18:57

C++源程序

2010-01-28 15:31:34

學習C++語言

2010-01-12 10:50:59

學習C++

2010-01-08 15:45:04

設置Dev C++

2010-01-08 17:13:46

Visual C++環

2009-12-10 16:50:58

Visual Stud

2010-01-21 16:33:44

C++Builder

2010-01-14 10:42:08

C++源代碼

2023-11-15 17:58:58

C++代碼

2010-01-28 10:33:10

C++開發程序

2010-01-11 11:02:59

Visual C++

2010-01-11 14:05:01

C++學習方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线免费观看 | 欧美日韩综合精品 | 狠狠干美女 | 亚洲精品在线免费 | 日本羞羞影院 | 久草中文在线观看 | 久久91 | 亚洲精品亚洲人成人网 | 久久99精品国产 | 精品亚洲一区二区三区 | 成人精品一区二区 | 免费三级黄 | 色精品视频 | 一区二区三区高清 | 欧美精三区欧美精三区 | 噜噜噜噜狠狠狠7777视频 | 久久精品亚洲一区二区三区浴池 | 亚洲视频免费在线观看 | 国产精品99久久久久久人 | 伊人网站在线观看 | 性做久久久久久免费观看欧美 | 1000部精品久久久久久久久 | 成人免费一级 | 日本在线中文 | 日日操av | 精品一区二区三区视频在线观看 | 亚洲综合一区二区三区 | 在线免费观看视频你懂的 | 激情免费视频 | 亚洲一区二区在线播放 | 久久久网 | 99久久婷婷国产综合精品电影 | 久久久精 | 91亚洲国产亚洲国产 | 国产在线观看不卡一区二区三区 | 精品国产一区二区在线 | 国产人成精品一区二区三 | 日韩免费一区二区 | 欧美日韩国产一区 | 日日操夜夜摸 | 亚洲97 |