PDA

View Full Version : مبتدی: بلوکها



saeed_cool68
جمعه 05 خرداد 1391, 01:22 صبح
سلام.من در مورد این برنامه به مشکل برخوردم اینکه چرا مقدار x2 برابر 22 میشه؟
int x;
int _tmain(int argc, _TCHAR* argv[])
{x=11;
int x;
x=44;
int y = 88;
if(x>=22)
{x=22;int y;int x=33;y=44;
cout<<"x1="<<x<<"\n"<<"y1="<<y<<"\n";}
y=77;
cout <<"x2="<< x <<"\n"<<"x3="<<::x<<"\n"<<"y2="<<y<<"\n";
return 0;
}

soorena
جمعه 05 خرداد 1391, 01:31 صبح
سلام

x۲‌ای که چاپ می‌شه در اصل همون xای هستش که شما داخل بلوک تعریف کردی و خودت مقدار ۲۲ رو به اون دادی.باید حوضه دید متغیر‌ها رو بخونی‌ تا اینا رو کاملا متوجه بشی‌

saeed_cool68
جمعه 05 خرداد 1391, 15:08 عصر
سلام

x۲‌ای که چاپ می‌شه در اصل همون xای هستش که شما داخل بلوک تعریف کردی و خودت مقدار ۲۲ رو به اون دادی.باید حوضه دید متغیر‌ها رو بخونی‌ تا اینا رو کاملا متوجه بشی‌
ممنون از شما.من طبق شکل زیر استدلال کردم.اشکالم رو میگید که کجاست؟
http://www.up.98ia.com/images/terdckmtiuywvxaod50c.jpg
در مورد حوزه دید متغیرها هم یه توضیحی ارائه بدین یا یه کتاب معرفی کنید.
از زحمات شما ممنونم.