出現 nan ind 的情況

2021-10-02 05:28:07 字數 796 閱讀 9955

在c/c++程式中,在控制台輸出時顯示-nan(ind)的情況,通常是某個變數的值在表達時發生異常,導致該情況的發生。

背景:
昨天在pta上做了這麼一道水題

一開始寫的答案是這樣的

可是提交上去,卻出了問題

原來是在n為0這種情況出現了一些問題。

於是跑回vs上重新跑了一遍程式,發現當n為0時出現了平均數得到的答案為-nan(int)這種奇妙的結果。

-nan(ind)
字面義:nan:not a number:即無法得到乙個數字;ind:indeterminate:不確定的。總的來說,就是無法得到乙個確定的數字。

可能的情況:

1.分母為」0」,如果分母為零,自然時不能得到乙個確定的數字的。

2.對負數開平方。

3.有些編譯器在對無窮大與無窮小的計算時也會出現此類情況。

此外;

不同的編譯器對此種情況的處理方式也不一樣,這取決於編譯器遵循的原則和標準;例如,當上面這段問題**在codeblock上跑了一遍,得到的結果如下;

tcp出現rst的情況

正常情況tcp四層握手關閉連線,rst基本都是異常情況,整理如下 1.gfw 2.對方埠未開啟,發生在連線建立 如果對方sync backlog滿了的話,sync簡單被丟棄,表現為超時,而不會rst 3.close socket 時recv buffer 不為空 例如,客戶端發了兩個請求,伺服器只從...

出現段錯誤的情況彙總

1.訪問陣列時超過陣列邊界 int data 20 int n for n 0 n 20 n 上面宣告的陣列長度為20,但是卻會訪問data 20 已經超過了陣列邊界,導致段錯誤出現。2.陣列的長度是負值 int imgwidth,imgheight long long len imgwidth i...

order by 語句出現null的情況

oracle 結論 order by colum asc 時,null預設被放在最後 order by colum desc 時,null預設被放在最前 nulls first 時,強制null放在最前,不為null的按宣告順序 asc desc 進行排序 nulls last 時,強制null放在...