在C語言中,不同資料型別在進行運算時首先要轉換成同一型別,一種是自動轉換,二是強制轉換,如(int)a 將a強制轉換為int型 轉換原則:箭頭是轉換方向 char,short->int->unsigned->long,float->double 說這個題之前要接受一個事實:不同計算機上執行此程式結果會不一樣,原因和你是好多位計算機有關係,在很多書上int佔兩個位元組,而在有些計算機卻佔4個位元組,具體是好多你可以用sizeof(int)測試一下,那我的計算機就佔4個位元組,現在再看題:c=x+a x為長整型a為整型,運算之前先將a自動轉換為長整型,x=-5,計算機儲存為0FFFFFFFBh,a=3,x+a=0FFFFFFFEh 輸出格式是%u 也就是以十進位制無符號形式輸出,結果為4294967294而不是65534。d=y+b,a=3就不用多說明了,最後用%f輸出單精度或雙精度浮點數,其預設為6位小數,要想控制顯示位數用%m.nf,具體看看書哈
在C語言中,不同資料型別在進行運算時首先要轉換成同一型別,一種是自動轉換,二是強制轉換,如(int)a 將a強制轉換為int型 轉換原則:箭頭是轉換方向 char,short->int->unsigned->long,float->double 說這個題之前要接受一個事實:不同計算機上執行此程式結果會不一樣,原因和你是好多位計算機有關係,在很多書上int佔兩個位元組,而在有些計算機卻佔4個位元組,具體是好多你可以用sizeof(int)測試一下,那我的計算機就佔4個位元組,現在再看題:c=x+a x為長整型a為整型,運算之前先將a自動轉換為長整型,x=-5,計算機儲存為0FFFFFFFBh,a=3,x+a=0FFFFFFFEh 輸出格式是%u 也就是以十進位制無符號形式輸出,結果為4294967294而不是65534。d=y+b,a=3就不用多說明了,最後用%f輸出單精度或雙精度浮點數,其預設為6位小數,要想控制顯示位數用%m.nf,具體看看書哈