喜我使用IAR C編譯器,我想打印像問題浮點
printf("version number: %f\n",1.4);
浮點值,但我總是得到像下面的控制檯
version number:ERROR
幫助,請 由於事先 苦諦
喜我使用IAR C編譯器,我想打印像問題浮點
printf("version number: %f\n",1.4);
浮點值,但我總是得到像下面的控制檯
version number:ERROR
幫助,請 由於事先 苦諦
格式字符串爲printf
功能可以指定浮點表示無線th更加明確的字符串:
printf("version number: %3.1f\n", 1.4);
我認爲這是錯誤信息的原因。
'%3.1f'告訴printf使用3個字符,其中一個後的小數位數爲。輸出應該是
version number: 1.4
編輯:庫地,似乎在IAR編譯器的printf()函數是從K個&řprintf()函數非常不同。
This link僅僅是一個例子這使我覺得我ķ&的R副本將是沒有幫助。對於那個很抱歉。
該錯誤可能是由於你的DLIB配置。由於注重與資源限制嵌入式目標的IAR C庫(DLIB)的行爲/功能集是可配置的。
看項目/選項/常規選項/庫選項。
從文檔:
選擇PRINTF格式器 printf函數使用了一個名爲_printf格式化。默認的版本是很 大,並提供了許多嵌入式應用不需要的設施。爲了減少 內存消耗,三個較小的,在標準 C/EC++庫還提供了替代版本。
#定義_DLIB_PRINTF_SPECIFIER_FLOAT可如果知道printf的花車。
感謝您的快速重播,我試過你說的輸出如下 version_number:ERROR1f – kudi 2009-12-16 11:04:12
我注意到你說的是IAR C編譯器。我指的是Kernighan和Ritchie的'The C Programming Language'。也許在語法上有一些區別。其實,看這本很老的書,目前還不清楚%3.1f是否可以接受。我建議你回到%f並忽略\ n – pavium 2009-12-16 11:32:35