在c中,除法是有一些特殊的。
如果是兩個整數型的變數相除,如10/3
,其結果是3
,而不是3.3333333
;又如10/4
,其在c中的結果是2
,而不是2.5
。也就是說,整數型變數相除,如果其結果從數學角度上看是小數,無論是否可以四捨五入進製,c都會講小數點後的部分拋棄。
只有將初始化變數為浮點數型別,其在c中相除的結果才會具有小數。
此外,如double a=5/4;
,其數學計算的結果是1.25
,但是在c中輸出的結果是1
,即使是在語句中初始化變數a
為浮點數。
這是因為初始化的變數是a
,而不是運算元5
或4
,這兩個數的型別依舊是整數型,其結果依舊遵循整數型變數相除的結果,只是其結果1
被賦值給了乙個浮點數變數a
。
如果想對兩個浮點數相除的結果取整,即只取其整數部分,可以像這樣做:
int centimeter =35;
int foot = centimeter /
(100
*0.3048
);
利用int
可以取整。 除法問題(C語言)
問題 s 除法問題 第四講 題目描述 輸入正整數n,遇到檔案末尾結束。按從小到大順序輸出所有形如abcde fghij n的表示式,其中a到j恰好為數字0到9的乙個排列 可以有前導0 無解輸出 no answer n在2到79之間。輸入 一行輸入乙個整數n。輸出 形如abcde fghij n的表示...
C語言中的 ,
c語言中的 今天在分析乙份原始碼的時候遇到了如下 define uf call x report file line x,x static int report char file,int line,char call,int irc return irc 網上參考 cpp view plain c...
C語言中的
c語言中的 今天在分析乙份原始碼的時候遇到了如下 覺得其中的 很有意思,於是就將這個知識點整理一下。和 都是預處理指令,我們先看 用來把引數轉換成字串,請看下面的兩個例子。例子一 例子二 define sqr x printf the square of x is d.n x x 如果這樣使用巨集 ...