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 ...