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次方分之幾的數是精確儲存為,其他的都是近似儲存的 要想精確儲存,只能用字串 確定輸入的float型的小數點位數,可以通過sprintf函式實現數字轉字串,處理字串,判斷小數版點 後的位權數實現,但由於系統中float存在7位有效數字 含小數點,即小數點後有6位小數 使得系統或者補0,或者截斷,導致統計與實際輸入數字的位數不符。主要 char buffer 40 float ... lld,例如 long long a printf lld n a c語言中有一個和long long型別想同的型別是 int64,他使用的格式是 i64d 如果是long long 那麼格式是 lld 使用 lld格式輸出。一 long long 是c99標準對整型型別做的擴充套件,每個版long... c標準規定 float 不少於 4個位元組,double 不少於 8個位元組。具體的你在所在平臺上用這個試試就知道了 sizeof int sizeof double sizeof float double 中文譯為雙精度浮點數,一般稱雙精度數,它在記憶體中佔用8個位元組 位 bit 的空間 flo...c語言如何確定輸入的float型的小數點位數
c語言中輸出longlong型資料怎麼輸出
c語言中double和float它們儲存時分別佔據多大的記憶體空間