עבור לתוכן

אני משתגע, מה רושמים אחרי ה% במשתנים מסוג unsegned long

Featured Replies

פורסם

ב C

U לא טוב..

ואם כבר פתחתי אתם יכול להביא את כל ה%X שיש, חיפשתי באינטרנט...

פורסם

חחח, תנסה את כל האותיות שיש(-:....זה לא שיש הרבה או משהו(-:

בהצלחה(-:

פורסם
  • מחבר

אני דווקא חושב שזה 2 אותיות, יכול להיות.

ואני יגיד לך תאמת נמאס לי לבזבז את הזמן על סינטקס ושטויות כאלה.

פורסם

%lu

לקלט בבסיס עשרוני.

צודק, באמת 2

אבל חיפוש אחד מתאים בגוגל מניב את התוצאות הרצויות.

כאן יש, אני מקווה, את מה שאתה צריך

http://www-ccs.ucsd.edu/c/lib_prin.html

חיפוש כזה יעשה את העבודה:

"unsigned long" + printf

אולי הייתה לך בעיה של שגיאת כתיב

"unsegned "

פורסם

%ld

פורסם

%ld

זה long

הוא ביקש בלי ביט הסימן: unsigned

פורסם
  • מחבר

תודה!

תאמת ניסיתי כל מיני חיפושים ביניהם

unsigned long "%u"

ועוד כמה אותויות, אבל לא עזר.[br]פורסם בתאריך: 10.08.2007 בשעה 16:58:10


לא נראה לי שזה טוב, כי כשאני עושה את המשתנה INT וקולט עם %D פונקציה מסויימת עובדת לי, אבל כשאני מחליף לlu הפונקציה מציגה לי ערכים לא הגיוניים.

עריכה:

0 דאבל, סורי.

פורסם

קוד?

פורסם
  • מחבר

int iFromRight(unsigned long n, int i)
{
if(i==1)
return(n%10);
return(iFromRight(n/10,i-1));
}

מחזיר את המספר הI מצד ימין

פורסם

הפונקציה מחזירה לך משתנה מסוג int. היצוג שלו בזכרון שונה מסוג long ומ Un Long. אחרי שאתה מקבל את הספרה, אתה מדפיס אם תו הסבה %d או %UL?

כי אם %D זה צריך לעבוד (ועובד) בלי בעייה.

פורסם
  • מחבר

הכל ב UL כשהמשתנה שאני שולח הוא UNSIGNED LONG

פורסם

אז פה הבעייה, המשתנה שהפונקציה מחזירה הוא INT. INT ו ULONG נשמרים בזכרון בצורה שונה, ה %D וה %UL מציניים לקומפילר איזה סוג של המשתנה הם אמורים לקרוא ובאיזו צורה.

מה שבעצם קורה זה שאתה מנסה לקרוא INT לא בצורה בה הוא שמור( משלים ל 2) אלה בצורה שבה ULONG שמור, והוא קורה את הנתונים בצורה שונה.


int dig;
unsigned long num = 12345;
int numDig = 3;

dig = iFromRight(num,numDig);

printf("%d \n", dig);

עובד תקין.

פורסם
  • מחבר

אני שונא את הבעיות הקטנות האלה =\

תודה.

פורסם

תיקון,

זה גם עובד אם %LU בהדפסה משום מה, אולי כי זה ערך שלם( צריך לבדוק את הדרך שבה ULONG מאוכסן :/ ).

תכל מקרה, תגיד אם זה עובד, אם לא אזיכול להיות שהבעייה במקום אחר.

פורסם
  • מחבר

כשאני רושם LU זה לא טוב, כשאני משתמש ב D זה טוב..

יכול להיות שזה משהו אצלך..

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים