1樓:岔路程式緣
肯定不對啊!
你輸入的時候是單精度浮點數型別,c語言中變數就是float型別,輸入使用的格式是%f。
不同的變數型別在記憶體中的儲存方式也完全不同,當你用整型格式(int)去讀乙個浮點格式(float)的數字時,不可能讀出正確的結果。
所以,你必須用跟輸入時相同的格式(%f)輸出(另外,還必須跟變數的型別一致),才能顯示正確的數字。
2樓:匿名使用者
單精度浮點型輸出格式應該是%f或者用double型別%lf都行啊。 %d是輸出整數, %c是輸出字元 怎麼可能會對啊。%s是字串。
3樓:韻
單精度浮點型%f,雙精度%lf,%d是輸出整數, %c是輸出字元 %s是字串
4樓:匿名使用者
輸入的什麼 你認為該輸出什麼
浮點數的儲存方式 跟1o進製不闖
5樓:
單精度浮點型float輸出格式應為%f,%d是整形,%c是字元型,能聽懂嗎?不懂的話隨時來問也是可以的
6樓:百i度網友
%d用於輸出整型變數,%c用於輸出字元型變數。c語言中,單精度浮點型變數和整型變數、字元型變數在記憶體中的存放格式是不一樣的。單精度浮點數是由乙個位元組的階碼和3個位元組的尾數構成的,共占用4個位元組記憶體單元,而整型變數在記憶體中占用2個位元組單元,字元型變數占用1個位元組記憶體單元。
將4位元組浮點數按2個位元組的整型數輸出,或按1位元組字元輸出,都會得到無法預料的結果。
c語言中輸出時一般是%d,但是有的是%4d,中間的數字是幹什麼的?
7樓:匿名使用者
c語言的格式字元(9種) (1)d(或i)格式符。用來輸出十進位制整數,有以下幾
種用法: ①%d,按整型資料的實際長度輸出。 ②%md,m為指定的輸出欄位的寬度。
如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。 ③%ld(%mld 也可),輸出長整型資料。 例如:
long a="123456"; printf("%ld",a); ( 2)o格式符,以八進位制數形式輸出整數。格式:%o,%mo,%lo,%mlo都可。
(3)x(或x)格式符,以十六進製制數形式輸出整數。格式:%x,%mx,%lx,%mlx都可。
(4)u格式符,用來輸出unsigned型資料,即無符號數,以十進位制數形式輸出。格式:%u,%mu,%lu都可。
參見:li4-3.c/*無符號資料的輸出*/ (5)c格式符,用來輸出乙個字元。
格式:%c,%mc都可。 (6)s格式符,用來輸出乙個字串。
格式:%s,%ms,%-ms,%m.ns,%-m.
ns都可。 (7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:
%f,%m.nf,%-m.nf都可。
注意:單精度實數的有效位數一般為7位,雙精度為16位。 (8)e(或e)格式符,以指數形式輸出實數。
格式:%e,%m.ne,%-m.
ne都可。 (9)g(或g)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時佔寬度較小的一種)。
c語言中輸入輸出函式有幾種格式,C語言中輸入輸出函式有幾種格式?
c語言輸入輸出函式有很多,標準i o函式中包含了如下幾個常用的函式 scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.int scanf const char format...
C語言中,單精度型資料有效數字約是6 7位,數值範圍是約 3 4e 38 3 4e 38,怎麼得出來的求解
這個比較複雜,建議你找一下ieee754標準看一下。這個簡單說一下吧 在ieee754標準中進行了單精度浮點數 float 和雙精度數浮點數 double 的定義。float有32bit,double有64bit。它們的構成包括符號位 指數字和尾數字。這些位的構成如下 float 第31位 佔1bi...
c語言整型數賦值給浮點型的問題,c語言中將乙個浮點型賦值給整型時,會不會四捨五入?
b a 2 是這麼計算的 a是整型變數,2也是,因此計算被當成整型計算,得到整型結果0,然後發內現b是float型的,再將整容型結果0進行資料型別轉換賦值給b。因此應當將a 2算式中分子或分母轉換成float型就能正確計算了,比如 b float a 2 或b a 2.0 或b a b 2 c語言中...