c語言問題?求求??請說出結果並說明為什麼?謝謝

2021-12-19 09:44:44 字數 903 閱讀 4711

1樓:匿名使用者

a*=x+3; //*=優先順序低,先算x+3 = 6.14 ,

然後, 執行a*=6.14 , 相當於 a=a*6.14=5*6.14=30.7

因為a是整型變數,所以結果為30(丟棄小數)printf("%d\n",a); //輸出30printf("%f\n",a); //在windows上輸出0 , 在linux輸出0.794743 跟編譯器有關,其實這句語句是屬於錯誤的語句,不能這樣使用。

2樓:

#include

int main(void)

3樓:華仔

恩,樓上回答的很詳細

4樓:

輸出為30,a*=x+3這條語句相當於型別轉換,a為整形,x+3=6.14,然後a=a*(x+3),x+3被轉換成整形6,執行a=a*6,值為30,第二條輸出0.000000

5樓:曹天

int main(void)裡面的void可加可不加,而用int定義的主函式必須要有返回值,即return ;至於return後面接什麼,就返回什麼值。

6樓:pprain_水杯

結果是30

30.7

a*=x+3就是a=a*(x+3),由資料型別的優先順序知float大於int,所以在計算這個式子時,a的資料型別由int轉化為float,則a=30.7,用整形資料輸出是30,浮點型是30.7

7樓:緣散於此

a*=x+3 此時a=5*6 因為x+3=6.14會被強制轉換成整型

8樓:遲暮_精未央

300.000000

c語言問題,C語言問題?

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

c語言問題,C語言問題?

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...

C語言問題C語言問題,C語言小問題段錯誤是什麼

str2num char p num num k return num c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock printf n return 0 c語言小...