snorlax פורסם נובמבר 9, 2012 דיווח שיתוף פורסם נובמבר 9, 2012 אני צריך לקלוט מספר ללא סימן גדול ממש מ-2, יש דרך לקלוט עם scanf מספר unsigned int ולוודא שבאמת נקלט מספר כזה? כי זה ללא ממש עובד לי unsigned int x = 0; scanf("%u", &x); while (x <= 2 ) { scanf("%u", &x); } יש עם זה 2 בעיות: אם מכניסים תו כלשהו שהוא לא מספר יש לולאה אינסופית (הוא נשאר בSTDIN וכל פעם הSCANF לא באמת קולט?) ואם מכניסים למשל -1 אז זה כן עובר :? ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
radagast פורסם נובמבר 9, 2012 דיווח שיתוף פורסם נובמבר 9, 2012 בעיה עם scanf... הייתי מציע לך לקלוט מחרוזת, כך שזה תמיד יעבוד, ואז לבדוק האם זה מתאים. כנראה שיש דרכים אחרות. ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
פרומתאוס פורסם נובמבר 9, 2012 דיווח שיתוף פורסם נובמבר 9, 2012 אם המספר לא גרנדיוזי תקלוט עם char, חיובי בהגדרה. ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
Mr.T פורסם נובמבר 10, 2012 דיווח שיתוף פורסם נובמבר 10, 2012 אתה בטוח שיכול להיות קלט שהוא לא מספר? בד"כ במבוא די מגבילים את הקלטים ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
ohad פורסם נובמבר 10, 2012 דיווח שיתוף פורסם נובמבר 10, 2012 scanf מחזיר את מספר הארגומנטים שהוא קלט בהצלחה או 1- במקרה של כישלון. לכן בדיקה כזו אמורה לעבוד: int check; unsigned int x; check = scanf("%u", x); while (check=!1) check = scanf("%u", x); ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
הודעות מומלצות
הצטרפות לשיח
באפשרותך לשלוח הודעה כעת ולהירשם מאוחר יותר. אם ברשותך חשבון, ניתן להתחבר עכשיו לשליחת הודעה דרך חשבונך.
הערה: הודעתך דרושה לאישור הנהלה לפני הצגתה.