واضح آرشیو وب فارسی:سایت ریسک: View Full Version : چند سوال از c++ bestirani213-03-2009, 04:51 PMچند تا سؤال كوچك در مورد c++ داشتم؟ 1.كاركترهاي تبديلي n و a را در printf و scanf با مثال توضيح دهيد همچنين فرق i و d را هم بگيد. 2.يك توضيحي در مورد نحوه عملكرد دستور زير ميخواهم،براي چي تو هر جا يك مقدار متفاوت ميدهد. توي turbo c++ 4.5 int a = 10; printf("%d%d%d%d",++a,a,a++,a); output:12111010 توي vc++ 6: int a = 10; printf("%d%d%d%d",++a,a,a++,a); output:11101010 توي vc++ 2008: int a = 10; printf("%d%d%d%d",++a,a,a++,a); output:12121012 توي php: $a = 10; printf("%d%d%d%d",++$a,$a,$a++,$a); output:11111112 3.اگه بخواهم يك تابع را به نوعي گرانبار كنم كه هر آرگومان آن بتواند نوع مختلفي باشد چه بايد كرد مثلاً در كد زير: template <class t> t function(t val1, t val2) { return val1+val2; } آرگومان هاي ورودي به طور مثال يا هر دو بايد char باشيد يا هر دو int.حال اگه بخواهم يك int و يك char باشيد بايد چكار كنم. 4.فرق تبديل يك نوع داده به صورت static_cast با روش c در c++ چيه؟ 5.در صورتي كه پيش پردازنده اي را include كنيم ولي از توابع آن استفاده نكنيم،روي رم تاثير ميگذارد. bestirani213-03-2009, 09:08 PMلطف كنيد سريع تر جواب سؤال هام رو بديد. bestirani214-03-2009, 04:39 PMجواب هيچ كدام از سؤال ها رو كسي نميدونست؟ hoax3r15-03-2009, 04:24 PM1 - n تعداد کاراکتر هایی که printf یا fprintf چاک کرده رو تو یه متغییر از نوع signed int میریزه (البته چاپش نمیکنه) a هم یه آرگومان از نوع double میگره خروجی رو 0xh.hhhh p±d میده این مثالارو ببین: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! i و d هم فرقی با هم ندارن 2 - نمیدونم ولی اولی بنظرم درست تر میاد 3 - فالبو اینجوری تعریف کن بعد یکی از آرگومانارو t1 و یکی رو هم t2 بزار !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 5 - تنها تاثیرش ممکنه موقع کامپایل باشه وگرنه روی RAM تاثیر نداره(البته سوالت کمی گنگه) bestirani215-03-2009, 06:15 PMhoax3r عزيز از جوابتون ممنون. اگه ميشه يك توضيحي در مورد 0xh.hhhh p±d بديد كه چي هست و به چه دردي ميخوره و به چه عواملي بستگي دارد. hoax3r15-03-2009, 06:48 PMیه جور نمایش عدد هست در این حالت عدد اعشاری (double) رو در مبنای 16 نشان میده یک رقم رو قبل از نقطه و مابقی رو بعد از نقطه قرار میده توان رو هم بعد از حرف p میزاره، یک 0x هم اول عبارت هست که نشون میده عدد در مبنای 16 است حالا کاربردش کجاست رو نمیدونم چون تا حالا باهاش کار نکرده بودم. این توضیحات کامل تر هم بد نیست ببینید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! bestirani215-03-2009, 07:07 PMدر مورد كاركتر تبديلي %w هم اگه اطلاعي داريد،لطفاً اينجا بگيد. hoax3r15-03-2009, 08:36 PMw% ؟؟ همچین فرمت تبدیلی تا جایی میدونم نداریم منظورم برای دستوراتی مثل printf , fprintf , .... هست، مگه اینگه بگین منظورتون دقیقا برای چه تابعی هست، شاید برای بعضی توابع خاص باشه که من اطلاع ندارم. bestirani215-03-2009, 10:15 PMممنون من خودم فهميدم.اين كاكتر براي پرينت كردن هست. humphry16-03-2009, 12:15 PMye bar toye forum rajebe operator ++ bahs shod taghriban be javab resid bestirani216-03-2009, 03:57 PMye bar toye forum rajebe operator ++ bahs shod taghriban be javab resid چيزي كه من در مورد ++ ميدونم اينه كه اگر به صورت پيشودي بگذاريد ابتدا زياد كرده و سپس مقدار را بر ميگرداند ولي در صورتي كه پسوندي بگذاريد ابتدا مقدار را بر ميگرداند و سپس مقدارش را افزايش داده. int x = 10; cout << ++x ; 11 cout << x; 11 int y = 10; cout << x++;10 cout << x;11 حال اگه توي بحث انجام شده در فروم مطلب بيشتري بيان شده لينكش را بديد تا بقيه هم استفاده كنند. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 351]