1樓:一生何求
1、出題涉及到型別轉換 y=a÷b時,此時a為int型,b為double型,那麼編譯器會首先把a提升轉換為double型,再進行除法運算的。所以a/b等於1.600000。
然後再進行賦值時,就是把一個double型的數值賦值給int,那麼久截斷小數部分了,即最終y=1。
2、所以輸出為:1。
3、**如下:
#include
int main()
int a=8,y;
double b=5;
printf("%f\n",a/b); //因為為double 輸出1.600000
y=a/b; //此時雖然a/b為double,但是y為int型,所以截斷了。y=1了。
printf("%d\n",y);
return 0;
4、執行結果如下:
2樓:天雨下凡
c語言沒有÷,應該是y=a/b
a/b,因為b是double型,所以結果是double型,結果是1.6,但是y的型別是int型,所以y的值是對a/b的結果取整,所以y的值是1
3樓:匿名使用者
首先 你的 型別不一致 要麼 吧 b 換成int 型別 要麼 你把 int 換成 或者 加強制型別轉換轉換
#include
int main(void)
int 型別 是1 double 是1.6
設int a 5,b 6,表示式a ba
結果為bai7。條件表示式 du為 表 zhi達式1?表示式2 表示式3。先求解dao表示式內1,若其值為真 非容0 則將表示式2的值作為整個表示式的取值,否則 表示式1的值為0 將表示式3的值作為整個表示式的取值。先判斷 a b 是否為真,a表達的值為6,b 表達的值為6,兩者相等,為真。則將表示...
baaaa5時,ba設inta5b6表示式ab?ab的值是
注意兩點 1.在系統裡,a的儲存位置唯一 2.a,a是先進行自增 自減處理,再處理表示式 而a a 是先計算表示式,再進行自增 自減處理 對於a a a 進行運算,通常表示式按照從左向右的順序處理 先處理a a 由於表示式沒有結束,所以a 先不進行自增處理,a還是等於5,a先進行自減處理,a等於4,...
若有定義語句int a 5p a,則對a陣列元素的正確引用是什麼Aa B a 2 Cp 5 Da
正確答案是 d a 5 就是a 5 下標越界了 a就是a 0 a 0 2不是對陣列元素的正確引用同理,p 5 就是a 5 下標越界了而 a 2 就是a 2 若定義int a 5 p a 則a選項 抄中,a 5 a 5 是a 5 的地 bai址,a 5 是a 5 本身 但數列中沒有a 5 這個du元素...