c語言 float型資料輸入需要注意什麼嗎

2021-12-25 02:25:36 字數 1700 閱讀 2389

1樓:匿名使用者

#include

void main()

double func(float x,float y)

2樓:崎下山護

如果用float最好不要用double返回

c語言可不可以判斷float型別中是否輸入了字元型別的資料!

3樓:口袋吧綠寶石

應該不可已

當字元型別的資料給float型別的變數賦值時會自動將char型資料轉換成float型別

在賦值後 float型別變數的大小就是char型別的字元的asscl碼值

c語言中給float型變數賦值時需要在數值後加f嗎

4樓:匿名使用者

不加是double型別,double可以隱式轉換成float,所以可以不加,但是編譯器可能給你一個警告。

5樓:gosunny小情緒

float型別的字面常量,後面需要加上f或者f來表示是一個單精度浮點數。只所以專要這樣寫,是屬因為預設的浮點數常量都是double型別。

#include

int main()

c語言 如何確定輸入的float型的小數點位數

6樓:匿名使用者

確定輸入的float型的小數點位數,可以通過sprintf函式實現數字轉字串,處理字串,判斷小數版點「.」後的位權數實現,但由於系統中float存在7位有效數字(含小數點,即小數點後有6位小數),使得系統或者補0,或者截斷,導致統計與實際輸入數字的位數不符。

//主要**

char buffer[40];

float fnum=12.38;

sprintf(buffer,"%f",fnum);//獲得字串int i=0,num=0;

for(;*(buffer+i)!='\0';i++)float 為單精度浮點型資料,在turboc中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.

4e+38,只能提供七位有效數字。建議輸入採用字串形式,這樣統計不會出偏差,使用數字時,使用double atof( const char *str )函式轉換。

7樓:

輸入後,bai十進位制數變2進位制。十進位制小

du數zhi 化 2進位制小數 常常 化不盡,所dao以用 大於小於回來判斷float型是否正好答大於小於某數值是困難的。

簡單辦法是用字串方法讀入,直接判斷字串。

float i;

char str[32];

int j,l;

scanf("%s",str);

sscanf(str,"%f",&i);

l = strlen(str);

然後查詢小數點,for (j=0;j

然後從最小的一位 str[l-1] 起迴圈,找到第一個不是 0 的位置。 if (str[k] !='0')

算出位數。

8樓:匿名使用者

樓上說的很對,要是你明白小數的二進位制儲存方式,你就知道了,只是近似儲存,除非是0.5,0.25,0.75等這些2的n次方分之幾的數是精確儲存為,其他的都是近似儲存的

要想精確儲存,只能用字串

c語言如何確定輸入的float型的小數點位數

確定輸入的float型的小數點位數,可以通過sprintf函式實現數字轉字串,處理字串,判斷小數版點 後的位權數實現,但由於系統中float存在7位有效數字 含小數點,即小數點後有6位小數 使得系統或者補0,或者截斷,導致統計與實際輸入數字的位數不符。主要 char buffer 40 float ...

c語言中輸出longlong型資料怎麼輸出

lld,例如 long long a printf lld n a c語言中有一個和long long型別想同的型別是 int64,他使用的格式是 i64d 如果是long long 那麼格式是 lld 使用 lld格式輸出。一 long long 是c99標準對整型型別做的擴充套件,每個版long...

c語言中double和float它們儲存時分別佔據多大的記憶體空間

c標準規定 float 不少於 4個位元組,double 不少於 8個位元組。具體的你在所在平臺上用這個試試就知道了 sizeof int sizeof double sizeof float double 中文譯為雙精度浮點數,一般稱雙精度數,它在記憶體中佔用8個位元組 位 bit 的空間 flo...