2009-12-16 6 views
1

Salut J'utilise le compilateur IAR c, je suis en train d'imprimer la valeur en virgule flottante commeproblème dans l'impression en virgule flottante

printf("version number: %f\n",1.4); 

mais je suis toujours devient comme ci-dessous dans la console

version number:ERROR 

aide s'il vous plaît merci d'avance kudi

Répondre

0

La chaîne de format pour la fonction printf peut spécifier des représentations à virgule flottante. th une chaîne plus explicite:

printf("version number: %3.1f\n", 1.4); 

Je pense que c'est la cause du message d'erreur. Le '% 3.1f' indique à printf d'utiliser 3 caractères, avec après la décimale. La sortie doit être

version number: 1.4 

EDIT: Kudi, il semble que la fonction printf() dans le compilateur IAR est tout à fait différente de la fonction K & R printf().

This link est juste un exemple qui me porte à penser que ma copie de K & R ne va pas être une aide du tout. Désolé pour ça.

+0

merci pour la relecture rapide, j'ai essayé ce que vous avez dit que la sortie était comme ci-dessous numéro_de_la_rrrrr: ERROR1f – kudi

+0

J'ai remarqué que vous avez dit compilateur IAR c. Je faisais référence au langage de programmation C de Kernighan et Ritchie. Peut-être qu'il y a une différence de syntaxe. En fait, en regardant ce très vieux livre, il n'est pas clair que% 3.1f serait acceptable. Je vous suggère de revenir à% f et de laisser le \ n – pavium

1

L'erreur est probablement due à votre configuration dlib. En raison de la focalisation sur les cibles incorporées avec des restrictions de ressources, le comportement/ensemble de fonctionnalités de la bibliothèque iar c (dlib) est configurable. Regardez Projet/Options/Options générales/Options de bibliothèque.

De la documentation:

OPTER PRINTF FORMATTER La fonction printf utilise un formatter appelé _Printf. La version par défaut est assez grande et fournit des fonctionnalités non requises dans de nombreuses applications intégrées. Pour réduire la consommation de mémoire , trois versions alternatives plus petites sont également fournies dans la bibliothèque standard C/EC++ .

Le #define _DLIB_PRINTF_SPECIFIER_FLOAT est disponible si printf connaît les flottants.

Questions connexes