演算法競賽入門經典p14 code::block測試
a4:表示式1.0/0.0 0.0/0.0的值是多少?
#include #include using namespace std;
int main()
輸出:
inf nan
1.#inf00 -1.#ind00
a5:表示式1/0的值是多少?
#include #include using namespace std;
int main()
輸出:
arithmetic exception ;
總結
在c ++ 中,除"0"需要分為兩種情況
整數0,如1/0
會直接報錯,這就相當於我們平時的認知,0是不能作為整數的.
double 0,如1/0.0
不會報錯,運算結果為無窮大inf,即infinity的縮寫.我們可以通過int isinf()來判斷乙個數是否為無窮大.同時nan表示"not a number",即這個數不存在,為非法操作.這兩個數在用printf輸出時會轉化為不同的形式,但是意思沒有變.可以用來判斷是否出現一些非法操作.
關於C語言除0引發的思考
複製 如下 進行浮點數程式設計時,如果沒有注意,常常會出現輸出類似 1.ind,1.inf 或者 nan,www.cppcns.com inf 之類奇怪的輸出。這通常隱含了浮點數操作的異常。進行整數除0的時候,程式會檢查出乙個錯誤,比如對於這個 複製 如下 include include int m...
C語言中的除0操作
int fenzi 10 int fenm 0 int jieguo 0 jieguo fenzi fenm printf jieguo d jieguo 結果就是程式在編譯時直接報錯,說發生了整型數除0操作 結果就是程式可能正常編譯但是執行結果是 這裡的1.inf00是乙個特殊的符號吧 1.inf...
關於檔案中的0D 0A
檔案一般分為文字檔案和二進位制檔案。如果你想乙個文字檔案中寫入乙個 n 文字檔案中會增加0x0d 0x0a兩個位元組 可以使用utraledit來檢視,記事本是看不出來的 如果你讀乙個文字檔案,一旦遇到0x0d 0x0a,遍會讀為乙個 n 0x0a 而在windows的二進位制檔案中,你寫入什麼就是...