C語言中,10+2.5*7的結果為什麼不是float型

2.5是double型常量,2.5*7中的7被自動轉換為double型然後做乘法得到double型的積。類似地,10被自動轉換為double型然後再與該積做加法。所以最後得到的結果是double型。

如果把2.5改為float型的常量2.5f(用字尾f表示float型常量),得到的結果就是float型了,比如:10+2.5f*7就是float型。

C語言中y=x++ y=++x的結果為什麼不同

前置自加 先自加 再賦值。
後置自加 先賦值再自加。
所以,y=x++ , y值是自加前的。
y=++x; y值是自加後的。
二者差1.

c語言中printf("%d",4+4.2);結果為什麼不是8?

4+4.2 = 8.2;
根據運算規則, 隱士轉換;低位轉高位;
結果變成了8個位元組; %d 取的是 8.2的前4個位元組;
double型別的數的儲存規則 又不是前4個位元組存整數;所以就不是8了;
要輸出8可以 printf(“%d\n“,(int)(4 +4.2));

C語言中(3+10.0/-5.0)的結果為什麼是2.0

先算 10.0 / -5.0,得到-2.0
再算 3+ (-2.0),得到浮點數1.0
不知道你用的什麼編譯器,怎麼得到的這個結果
給點上下文的程式碼吧
補充:
那就應該是一個錯誤吧,書上總有寫錯的時候。以實際情況為準。

C語言中,int型變數加float型結果是float型嗎?

//以下可以通過編譯,說明是。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=1;
float r,f=1.1;
r=i+f;
printf("%f!\n",r);
return EXIT_SUCCESS;
}

c語言中50%23結果為什麼是4?

50%23可看成50/23=2……4
%是取模,即取餘數。例如 24%5=4、36%5=1、48%5=3

C語言10/3.0*3的結果為什麼是10.0

裡面有個 3.0 ,系統自動變為浮點型運算了,計算機是的 1/2 1/4 1/8。。。 來儲存浮點數的,到一定的精度就會算成10.0

C語言中putchar(1)結果為什麼是笑臉

在你的平臺下是笑臉,在別的平臺下就不一定了,可能是黑方框,也可能是?等等。因為putchar是輸出字元的,1是數字,它對應的“字元”因不同平臺有不同的表現。

c語言中int x=2;2*x,x+=2語句的結果為什麼是4

因為沒有賦值
2*x=4沒有賦值給x,所以下一個運算裡x還是等於2
輸出x+=2 2+2=4

float a=2,b=4,h=3; (1/2)*(a+b)*h在C語言中結果為什麼是0

1/2結果為0.
1和2為整型 結果也去整為0.
但是1.0/2為0.5 因為1.0是浮點型

點選檢視隱藏內容

本文內容整理自網路, 文中所有觀點看法不代表問咩的立場