درود!
این جا مکانی است ویژه برای دانشجویان مهندسی کامپیوتر / آی تی و نرم افزار و صد البته افرادی که جویندگان دانش و تکنولوژی هستند.
آقایان دانوش ،یاشار و آمالی دارندگان این بلاگ بودند و هم اکنون تنها آقای دانوش مدیریت این وبلاگ را بر عهده دارد، با توجه به زمان بندی ها هم اکنون در این سایت فعالیت پویا ای نداریم.

فرق ++a با a=a+1 و....

چهارشنبه 22 آبان 1392
20:25
دانوش پیچگاه
اگر در محیط توربو سی پلاس پلاس برنامه ای بدینگونه بنویسیم:

int A=0;
A=A+1;
cout<<A;

همانطور که انتظار داریم، عدد یک را چاپ میکند. زیرا مقدار اولیه حرف که صفر بود بعلاوه یک شد و سپس چاپ شد.
اما دستور a=a+1 فرقی با ++a ندارد. پس می توان نوشت:
int A=0;
A++;
cout<<A;
که باز هم نتیجه پیشین را خواهیم دید یعنی A=1.

اما اگر به جای ++A اینبار بنویسیم:
int A=0, B=0;
B=A++;
cout<<A;
cout<<B;
می بایستی که A=1 و B=1 باشد. پس مشکلی تا اینجا نباید باشد. اما این طور نیست و خواهیم دید A=0 و B=1 خواهد بود! اما چرا؟ در ادامه خواهیم دید چگونه و چرا این طور می شود.

ادامه مطلب


شبکه اجتماعی فارسی کلوب | Buy Mobile Traffic | سایت سوالات