關於c語言程式設計問題乘05和除2怎麼結果不一樣

2021-03-04 06:40:56 字數 1382 閱讀 1060

1樓:匿名使用者

型別問題。c語言的整型 int 資料的算術運算結果還是整型,2是整型值,除2的結果還是整型(結果的小數部分被丟掉了),乘0.5就變成浮點型了。

要得到正確的結果可將除2改成除 2.0

2樓:匿名使用者

你定義的都是整型變數,*0.5就變成浮點數運算啦

/2的話還是按整型來運算,就像是1/2結果是0,浮點運算的話1/2.0就變成了0.5

3樓:匿名使用者

if((4*x+3*y+(36-x-y)/2) == 36)

兩個整型量相除,最後取整數部分;

4樓:軒轅詩語

因為你的x,y都是整形int,乘以0.5以後的結果系統自動只保留整數部分,所以不同

在c語言中,為什麼1/2的運算結果為0;1.0/2.0的結果為0.5謝謝了,大神幫忙啊

5樓:白諾大好人

因為除號兩邊都是整數,1/2的結構是0.5,取整數以後就是0 第二個是因為除數與被除數有乙個是小數結果不會取整數,就是0.5

6樓:久野杏子

1和2是整型,1/2也是整型,0.5取整為0; 1.0和2.0是浮點型,所以1.0/2.0也是浮點型,等於0.5

7樓:景愉玉幼霜

輸出*#pq

下面為程式,偽碼為解釋

void

main()

case

2://由於case

1沒有break,故繼續case

2switch(z)

//即switch(3)

}switch(k)

//即switch(1)}

求c語言大神幫忙看一下,為什麼我手算的結果和程式的結果不一樣?

8樓:匿名使用者

輸入資料 vi, vo 你都定義成了浮點數型別,但是讀入的時候是按 %d 也就是整型讀的,這倆型別的二進位制編碼不統一,所以讀到的資料就不對。讀入的時候用 %f 就好了。

在c語言中,為什麼1.0/2.0=0.5 ,而1/2=0呢?

9樓:石沉溪洞

1和2都是整數型,結果不可能得到乙個浮點型的小數

10樓:豆菲特

1/2二者都是整型,結果也是整型,0.5轉化為整型就是0.

11樓:左腳流的一滴淚

保留小數與取整方式不同

12樓:匿名使用者

沒有為什麼,規定如此。

以後寫程式多了就明白這麼為什麼規定了。

關於C語言程式設計的一點小問題,關於C語言程式設計的小問題

我認為你的函式 void swap int a,int b 是個無用的函式,它不起任何作用 原因如下 a,b是兩個swap函式內的區域性變數,p,q是兩個main函式內的變數,呼叫swap p,q 時將p,q 內儲存的位址值賦值給了a,b 然後在swap函式內對a,b的儲存的位址值進行了交換,不會影...

c語言關於程式設計的小問題大家幫忙啊

int a 2001 dp 2001 2001 存在問題,沒有足夠的儲存空間可以分配。暴棧了。把陣列開到外面就好了。但是你的 還是錯了。include include include int a 2001 dp 2001 2001 int min int a,int b int square int...

c語言關於陣列中0和的儲存問題,C語言關於陣列中0和 0 的儲存問題

只能佔用4 個 第五個要留給 0 a 4 0 和 a 4 0 這倆一樣 0 ascii 碼 0 a 4 0 這樣的 0才是ascii碼48 不要被那些人誤導 首先乙個字串的話末尾是必須要有 0的 否則會越界,這樣的後果就是程式會有bug,如果你的陣列有5個空間的話,最後乙個一定要留給 0至於a 4 ...