在C 中關於一些除法計算問題

2022-02-17 01:58:42 字數 769 閱讀 4790

response.write("

" + 4 / 3);  //1

除數與被除數都為整數時,結果為整數。

除法將結果捨入到零,並且結果的絕對值是小於兩個運算元的商的絕對值的最大可能整數。當兩個運算元符號相同時,結果為零或正;當兩個運算元符號相反時,結果為零或負。

如果左運算元為最小可表示 int 或 long 值,右運算元為 -1,則發生溢位。無論操作是在 checked 還是在 unchecked 上下文中發生,此時總是引發 system.overflowexception。

如果右運算元的值為零,則引發 system.dividebyzeroexception。

esponse.write("

" + 5%2);  //1  取餘數

response.write("

" + 4 / 3.0);

結果為double型別,精確到15-16位。

這裡3.0指定為double型別。

response.write("

" + 4 / 3f);

結果為float型別,精確到7位。

這裡3f指定為float型別。

附:可在乙個表示式中兼用數值整型和浮點型。在此情況下,整型將轉換為浮點型。根據以下規則計算表示式:

如果其中乙個浮點型別為 double,則表示式的計算結果為 double 或 bool(對於關係表示式或布林表示式)。

如果表示式中不存在 double 型別,則表示式的計算結果為 float 型別,在關係表示式或布林表示式中為 bool 型別。

c 中關於記憶體的一些問題

void getmemory char p void test void 請問執行test函式會有什麼樣的結果?答 程式崩潰。因為getmemory並不能傳遞動態記憶體,test函式中的str一直都是null。strcpy str,helloworld 將使程式崩潰。解析 該函式中的p是乙個臨時的指...

c 中關於const的一些細節問題

const是一件奇妙的事情,它指定乙個語義約束,而編譯器會強制執行這項約束,它允許你告訴編譯器或者其他程式設計師某值應該保持不變。你可以用const修飾class內部的static和non static成員變數,你也可以指出指標之身或者是指標所指物,或者兩個都是。比如 char greeting h...

C中關於陣列的一些問題

int arr 4 這裡的4必須是乙個常量常量定義方式有 1.巨集定義 define size 4 此時可以使用為 int arr size 2.列舉 enum size 3.const修飾 const int size 4 此時的const修飾的常量不可以用作陣列的常量表示式!這是因為c語言本身並...