程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C Primer Plus note3,primerplusnote3

C Primer Plus note3,primerplusnote3

編輯:關於C語言

C Primer Plus note3,primerplusnote3


上面的源代碼為什麼輸入q的時候,程序就會退出呢?

while(條件語句),status == 1是條件語句,status只要是非0值的時候,status == 1的條件就滿足,程序就會運行while循環中的塊。

      根據scanf()函數讀取輸入的規則知道,"%ld"是要讀取一個長整型的數據,所以scanf()函數希望發現一個數字字符或者是一個符號(+或-),如果找到一個數字或字符,它便保存該字符,再讀取下一個字符,一直讀取4個字符(我編譯器的ld長整型是4個字節)為止。如果scanf()函數在讀取這四個字符之內碰到了非數字字符或非符號的字符,那麼它會停止讀取。把之前讀取到的字符賦給變量。這個解釋可以查看《C Primer Plus 第六版 中文版》書上詳細介紹了scanf()函數讀取字符的規則,在書94頁的標題1.從scanf()角度看輸入 這一段中。有興趣的可以找電子書讀一下。

      為什麼輸入q,status就等於0呢?

因為scanf()函數沒有讀取到數字字符或者符號(+或-),所以返回一個0值。《C Primer Plus 第六版 中文版》書95頁的標題3.scanf()的返回值 這一段有詳細介紹

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved