請幫我理解下面的C輸出:爲什麼printf隱式float到int轉換不起作用?
#include<stdio.h>
int main() {
float x = 4.0;
printf("%f\n",x);
printf("%d\n",x);
int y=x;
printf("%d\n",y);
return 0;
}
輸出繼電器上gcc編譯
4.000000
0
4
至於我讀的時候我們分配浮到變量int變量的小數部分被終止,然後分配給int。
爲什麼它不是在這種情況下發生?
您的意思是在最後的打印語句中輸出'x'? – Howard 2011-12-19 09:20:57
最後'printf'再次打印'x',而不是'y'。 – 2011-12-19 09:21:58
thnx所有...我已經問了一個愚蠢的問題...和代碼中的錯誤....我打算在最後的聲明中打印y – 2011-12-19 09:25:08