PRB: שגיאת "נקודה צפה התמיכה לא נטען" עם scanf()

מאפייני הבעיה

כאשר יישום משתמש בפונקציה scanf() כדי לקרוא ערך נקודה צפה מהמסוף לתוך משתנה גלובלי של סוג לא מאותחל "לצוף", מתרחשת שגיאה "תמיכה בתבנית נקודה צפה לא נטען" R6002. שגיאה זו מתרחשת גם כאשר כל שיגרת קלט מעוצב משמש לקריאת ערך.

הגורם

הקומפיילר לא ליצור הפניה למשתנה __fltused המורה מקשר לטעון את המודול תמיכה נקודה צפה.

פתרון

כדי לעקוף בעיה זו, לאתחל את המשתנה נקודה צפה או להשתמש במשתנה בביטוי בשיגרה המכיל את השיחה scanf().

מצב

אופן פעולה זה הוא צפוי. כדי לצמצם את הגודל של קובץ ההפעלה, הקומפיילר טוען תמיכה נקודה צפה רק כאשר הוא נדרש.

מידע נוסף

כאשר משתמש רק באחד רוטינות קלט מעוצב מודול לא גם לאתחל את המשתנה נקודה צפה, הקומפיילר תטען תמיכה נקודה צפה.

להסיר את ציון הערה אחת או את שתיהן של שתי שורות הקוד לדוגמה שלהלן כדי לסלק את השגיאה R6002.

הקוד לדוגמה

   /*    * Compile options needed: none
*/

#include <stdio.h>
float x ;

main()
{
// Remove the comment from the next line to eliminate the error.
// x = 2.3 ;

scanf ("%f", &x) ;

// Remove the comment from the next line to eliminate the error.
// printf ("%f\n", x) ;
}

מאפיינים:

מזהה פריט: 37507 - סקירה אחרונה: 17 בינו׳ 2017 - תיקון: 1

משוב