C語言中的除0操作

2021-09-21 18:22:24 字數 1666 閱讀 4443

int  fenzi = 10;

int fenm = 0;

int jieguo = 0;

jieguo = fenzi / fenm;

printf("jieguo = %d" , jieguo);

結果就是程式在編譯時直接報錯,說發生了整型數除0操作

結果就是程式可能正常編譯但是執行結果

這裡的1.#inf00是乙個特殊的符號吧

1.#inf00表示這是乙個無窮大的正數,這個數超出了計算機可以表示的範圍了,同 inf,同理

-1.inf00表示這是乙個無窮大的負數,這個數的絕對值超出了計算機的表示範圍,同 -inf。

還有乙個符號表示這個結果不是個數,例如 sqrt(-1), 對負數開平方,對負數取對數,0.0/0.0,0.0*∞, ∞/∞ 等,這個結果用1.#ind00或者 nan表示

當 \ 用作算術運算子時表示除法,如果除數和被除數都是整型,那麼運算結果也是乙個整數,餘下的作為餘數,例如

int a = 99,b = 17,c = 0,d = 0;

c = a \ b;

d = a % b;

那麼結果就是

c = 5;

d = 14;

int a = 17,b = 99,c = 0,d = 0;

c = a \ b;

d = a % b;

那麼結果就是

c = 0;

d = 17;

但是當除數或者被除數中有乙個為浮點型的時候,會發生隱式型別轉換,計算將按照實際的帶小數計算

int a = 99;

float b = 17,c = 0;

c = a \ b;

那麼結果就是

c = 5.82352;
float a = 17;

int b = 99,c = 0;

c = a \ b;

那麼結果就是

c = 0.171717;
取餘運算子 % 雙目必須是整型。

C語言中的 0 是什麼?

0 是什麼?0 是轉義字元 為了告訴編譯器 0 是空字元,而不是字元0.字元 0 對應的二進位制為00110000,而 0 對應的二進位制為00000000 在c語言中通常用乙個字元陣列來存放字串,0 是字串的結束標誌,任何字串之後都會自動加上 0 如果字串末尾少了 0 轉義字元,則在輸出時可能會出...

關於C語言除0引發的思考

複製 如下 進行浮點數程式設計時,如果沒有注意,常常會出現輸出類似 1.ind,1.inf 或者 nan,www.cppcns.com inf 之類奇怪的輸出。這通常隱含了浮點數操作的異常。進行整數除0的時候,程式會檢查出乙個錯誤,比如對於這個 複製 如下 include include int m...

C語言中a 0x0表示什麼?

c語言中a 0x0表示什麼?一 說明 1.在c語言中,可以用作取位址和按位與操作兩種運算。不過取位址是針對變數的,當前 後是乙個常量,在c語言中不允許取位址操作,所以這個是語句的一部分,前面還要有乙個操作變數。比如a 0x01。2.是雙目操作符,需要兩個運算元,代表含義為按位與操作。3.分析運算元0...