עבור לתוכן

כמה שאלות בשפת C

Featured Replies

פורסם

טוב אז ככה אנ עומד לפני מבחן בשפת C ויש לי כמה שאלות:

אחת השאלות שלנו היא בעצם מה ידפיס הביטוי הבא(לדומא) printf("%d", 'a');j (לא להתייחס ל j אחרי הסוגריים היא רק על מנת שהדפדפן ייתן לי לסגור את הסוגריים) במקרה של הפרינט הזה הוא ידפיס לי את הערך97 עד כאן הכל בסדר, אני עובד על המבחנים ורואה איזה מוטיב חוזר שאני לא מבין אותו של x% אני ייתן כמה דוגמאות מהמבחנים ואם תוכלו להסביר לי מה ואיך בדיוק ייקרה.

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

כמה דוגמאות שאני לא מבין, (שוב לא להתייחס ל j זה רק לצורך סגירת הסוגריים):

1. printf("%x",'A'-33);j

2. printf("0x%x",'a'-'A');j

3. printf("this is the %x question.",'B'-'A');j

אלה כמה דוגמאות שאני לא מבין שבכולם משגע אותי ה x% אשמח להסבר

תודה מראש רן

פורסם

%x מראה את הערך בהצגה של בסיס הקסהדצימל (בסיס 16).

פורסם
  • מחבר

ז"א שאני ייצטרך לעשות את החישוב של נגיד בראשון: 'A'-33 ואז את התוצאה שתצא לי להפוך לבסיס 16 וזה הערך?

ומה לגבי 2 עם ה 0 בהתחלה, זה נראה כאילו זה פונה למקום בזכרון?

תדוה על העזרה

פורסם

בדיוק. שים לב שבעצם מתייחסים ל-'A' בתור מספר (שהוא ערך הascii של האות).

זה פשוט אומר להדפיס את התווים "0x", לא שום דבר מיוחד.

פורסם
  • מחבר

סדר גמור הבנתי תודה.

אני ייחשב את זה ונראה שהכל ייצא לי בסדר ואני לא טועה בעוד משהוא.

תודה.

ארכיון

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

דיונים חדשים