C語言的問題

2023-02-15 04:10:07 字數 613 閱讀 8951

1樓:恆戰天兵

「/」代表整除的意思,5/2=2,不是2.5,double意思是強制轉為雙精度型,通常是6位小數。所以(double)(5/2)=(double)2=2.000000 。

但是(double) 5/2=2.500000,這時的算式是先算(double)5 =5.000000,然後再算5.

000000除以2得到2.500000。請注意上述兩式的區別。

(int)就是強制轉為整型的意思,即把小數部分都去掉。

最後結果為4。

2樓:嬌嬌的藍水晶

5/2=2 ;

2強制轉換成double之後變成了2.0;

2.0+2.5=4.5;

4.5強制轉換成int之後變成4

3樓:畫雲舞語

注意c語言的資料是帶型別的

從括號最裡面開始

int 5/int 2 = int 2 (/對於整形是整除)(double) int 2 = double 2double 2 + double 2.5 = double 4.5(int)double 4.

5 = int 4 (double轉化成int向下取整)

C語言問題C語言問題,C語言問題C語言問題

include include int main b k p b k 0 puts b return 0 c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock print...

C語言問題,C語言問題C語言問題

這題考的是自動型別轉換,由編譯系統自動完成,轉換是 向上 靠的 舉個例子 include stdio.h void main 你編譯一下就會有警告 conversion from double to float possible loss of data 也就是說系統預設轉化了a,b的資料型別為do...

c語言問題,C語言問題

1 c2 a 3 d4 a 5 d6 b 7 a8 a9 d c語言問題 include define n 30 typedef struct student student r n int main void num 1 for i 0 ir max score max j if max i if...