問題詳情

26 執行下列 C 語言程式後,產生的輸出為何?#include <stdio.h>#include <iostream>int main(){ double i; i=4.5+1/2; printf("%f", i); system("PAUSE"); return 0;} 
(A)4.5
(B)5.0
(C)5
(D)2.75

參考答案

答案:A
難度:困難0.322835
統計:A(41),B(53),C(15),D(8),E(0)

用户評論

Yu Han Lin】評論

在數學上 1 / 2 = 0.5但在C語言程式,整數的/就回傳整數,浮點數的/就回傳浮點數。例如:int a = 5;int b = 2;a / b 就會回傳 2 這個整數(int除int)double a = 5.0;double b = 2.0;a / b 則會回傳 2.5 這個浮點數(double除double)

安身立命】評論

double i; i=4.5+(double)1/2;這時後i才是5.000000

imitation】評論

其實這題應該無解吧..小數點後面還有很多0沒標示到,這種答案不精確