سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - نسخهی قابل چاپ |
سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - nazanin2020 - 04 دى ۱۳۹۳ ۱۲:۵۴ ق.ظ
جواب گزینه یک هست کسی میتونه اون قسمتی ک زیرش خط کشیدمو توضیح بده ؟ با بقیه قسمتاش مشکلی ندارم بنظرم اونی ک زیرش خط کشیدم اشتباهه و باید ۱۰ بشه با تشکر |
RE: سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - moodix - 04 دى ۱۳۹۳ ۰۳:۱۵ ق.ظ
(۰۴ دى ۱۳۹۳ ۱۲:۵۴ ق.ظ)nazanin2020 نوشته شده توسط: جواب گزینه یک هست سلام جواب درسته. value-result معمولا با نام copy-restore شناخته میشه. call by value-result با call by value فرق داره. value-result نوع خاصی از call by reference است با این تفاوت که: تا زمانی که تابع تموم نشه ، مقدار در آدرس مورد نظر نوشته نمیشه. مثال برای حالت value-result :
;int a=2
}(func(int x ;x=6 چاپ۲ (نه ۶!!)//;(print(a ;a=3 چاپ۳//;(print(a { }()main وقتی تابع به پایان برسه اونوقت مقدار مورد نظر در a کپی میشه//;(func(a چاپ ۶ (نه ۳ !!)//;(print(a { |
RE: سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - nazanin2020 - 04 دى ۱۳۹۳ ۰۳:۴۷ ق.ظ
خیلی ممنون. مرسی راستش ب این موضوع دقت کردم ک نباید مقدار در آدرس نوشته بشه و فقط مقدارش در آرگومان رسمی در آخر کار کپی میشه با توجه ب همین موضوع اینو حل کردم اگ دقت کرده باشید مقدار y بخاطر زیربرنامه q تبدیل به چهار شده اولین دستور از زیربرنامه پی [a[4 رو برابر ۱۵ میکنه ولی خب بعدش بخاطر i دوباره مقدار [a[4 عوض میشه و تبدیل ب ۱۰ میشه. نمیدونم کجا رو دارم اشتباه میکنم |
RE: سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - moodix - 04 دى ۱۳۹۳ ۰۴:۴۵ ق.ظ
(۰۴ دى ۱۳۹۳ ۰۳:۴۷ ق.ظ)nazanin2020 نوشته شده توسط: خیلی ممنون. مرسی اشتباه نکنید، مقدار I در اون نقطه ۱ هستش چون هنوز تابع Q تمام نشده ( تابع Q تابع P رو صدا زده، پس تا P تموم نشه ، Q تموم نمیشه) پس تا اینجا ۱۰=[۱]A . پس از اتمام تابع P، تابع Q به پایان میرسه اما قبلش ۳۰=[۱]A میکنه پس در انتها ۳۰=[۱]A و ۱۵=[۴]A |
RE: سوال از ارسال آرگومان با مقدار نتیجه و آدرس- مهندسی کامپیوتر ۸۷ - nazanin2020 - 04 دى ۱۳۹۳ ۰۱:۰۳ ب.ظ
ممنون بخاطر وقتی ک گذاشتین. کامل متوجه شدم |