PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل کوچک در دستور if زبان c++



سیدرضا بازیار
June 19th, 2016, 21:38
من یه کد در c++ دارم که یکم برام قابل درک نیست


int main()
{
int a=0, b=2;
if(a=0) {a+=2;b+=a; cout <<a*b;}
else cout<<b;
}

دستور if اجرا نمیشه و میره سراغ else
چرا این شرط اجرا نمیشه در حالی که a برابر با 0 هست؟

JeyServer
June 19th, 2016, 21:50
سلام
عملگر برابری در c[++] دوتا مساوی == هست!
کدتون رو بصورت زیر باز نویسی کنید

int main()
{
int a=0, b=2;
if(a==0) {a+=2;b+=a; cout <<a*b;}
else cout<<b;
}

سیدرضا بازیار
June 19th, 2016, 21:52
سلام
عملگر برابری در c[++] دوتا مساوی == هست!
کدتون رو بصورت زیر باز نویسی کنید

int main()
{
int a=0, b=2;
if(a==0) {a+=2;b+=a; cout <<a*b;}
else cout<<b;
}

کاملا درست میفرمایید. اصلا متوجه نشدم
البته این یکی از سوالات پایانترم دانشگاه ما بود و چون فردا امتحان دارم داشتم مطالعه میکردم
جالبه که اصلا متوجه نشدم:d

ممنون از کمک شما :53:

shomalnetwork
June 20th, 2016, 09:45
= در c++ برای مقدار دهی هستش
برای تست مقدار از دوتا = استفاده میشه

ms313
June 20th, 2016, 14:23
= در c++ برای مقدار دهی هستش
برای تست مقدار از دوتا = استفاده میشه

تو اکثر زبان ها = برای انتساب هست
== برای مقایسه
=== کاراکتری و نوعی هست !

arash_fa
July 21st, 2016, 22:13
تمامی دوستان درست گفتند و فقط یک توضیح دیگه میدم و تریس میکنیم برنامه رو

a=0 در اصل a را مساوی 0 قرار میده و حالا 0 در شرط قرار میگیره و شرط نقض میشه

اگر a=1 یا هرچی غیر 0 و فالس و ... بود شرظ شما کار میکرد چون a برابر 1 میشد و این 1 در شرظ قرار میگرفت و اجرای 100% داشتید


موفق باشید