PDA

View Full Version : سوال: خروجي اين برنامه 64 ميشه. دليلش چيه؟



ms.nazeri
سه شنبه 10 خرداد 1390, 22:39 عصر
خروجي اين برنامه 64 ميشه. دليلش چيه؟
{
int **pa,*pb,b=10;
pa=&pb;
*pa=&b;
**pa=*pb-1;
*pb=**pa-1;
cout<<**pa**pb;
}

shahmohammadi
چهارشنبه 11 خرداد 1390, 19:35 عصر
با اجرای دوخط انتساب اول pa به pb اشاره و pb به b اشاره می کند. پس بعد از آن دوخط **pa همان *pb و آن همان b می باشد. پس واضح است که دو خط بعدی مقدار b رو دوتا کاهش می دن. و عبارت آخر هم **pa* *pb==b*b==8*8==64
موفق باشین