פורסם 2006 בינואר 1219 שנים מחבר void swap( int *a, int *b ){ int temp; temp = *a; *a = *b; *b = temp;}אבל היא לא מקבל 2 מספרים שלמים...היא מקבלת 2 מצביעים...
פורסם 2006 בינואר 1219 שנים הפונקציה מקבלת שני מצביעים למספרים שלמים.בקריאה לפונקציה, אתה שולח לפונקציה שני משתנים של מספרים שלמים המוגדרים כ-int עם אמפרסנד לפני המשתנה, כך שהפונקציה מקבלת את הכתובת של המשתנה ולא את הערך שלו.void main( void ){ int x = 10; int y = 20; swap( &x, &y );}
פורסם 2006 בינואר 1219 שנים מחבר הבנתי את הסברך. ואם כן, הפונקציה מקבלת 2 מצביעים למספרים שלמים ולא מספרים שלמים. ואני לא בטוח שזה בסדר...כי אני צריך פונקציה המקבלת 2 מספרים שלמים
פורסם 2006 בינואר 1219 שנים לדעתי, זה באמת כמו שנכתב כאן...... זה מקבל מצביעים למספרים שלמים...... אין דרך יותר טובה להחליף בין שני מספרים..... רק ע"י שליחת פויינטרים...אלא אם אתה רוצה לעשות:<?asm{xchg a,b}אם אני לא טועה, זה הקוד להכנסת פקודות אסמבלר.... זאת פקודה שמחליפה בין משתנים..... אבל אני לא בטוח בקשר לתחביר.........
פורסם 2006 בינואר 1219 שנים די טפשי ולא עובד.אתה עדיין משנה את המשתנים ב- stack frame הנוכחי ולא את המשתנים ששהעברת לפונקציה.
פורסם 2006 בינואר 1219 שנים מחבר זו כנראה התשובה:void swap (int &a, int &b){ int temp; temp = a; a = b; b = temp;}
פורסם 2006 בינואר 1219 שנים אז אתה משתמש ב- references. זה לא באמת שונה משימוש במצביעים.נו, מילא, כבר מזמן ויתרתי על ההיגיון שזה נוגע למורים.
פורסם 2006 בינואר 1219 שנים מחבר מסכים בהחלט...מורים זה עם!! ומצטער, שםוט שכחתי לציין באיזו שפה אני מבקש פיתרון...
פורסם 2006 בינואר 1219 שנים מחבר אמרת שאתה מעוניין במצביעים, לא בהפניות.אתה צודק...אני חייב לבדוק את פשר השאלה הזו מול המורה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.