الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل ستقع في الخطأ الذي وقعت به... جملة If تبدو طبيعية ولكن نتائجها غير طبيعية

بدأه akramKamal في 24 يونيو 2009 · 5 رد · 502 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

السؤال بسيط جدا ...

ما هو ناتج المتغير X بعد تنفيذ هذا الكود

 int X = 0;
			bool isTrue = false;
			if (isTrue = true) X = 1;
			else X = 2;

طبعا ممنوع استخدام الفيجوال ستيديو لمعرفة الناتج ...

من يعرف الجواب يجب أن يذكر سبب ذلك

بالتوفيق

تم تعديل هذه المشاركة بواسطة akramKamal في 25 يونيو 2009 في 00:11

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#2

النتيجة بالطبع 1 لأنك لا تقوم بالتحقق من قيمة المتغير isTrue وإنما تتحقق من القيمة الناتجة عن عملية إسناد القيمة true له والقيمة التى تنتج من عملية إسناد قيمة إلى متغير من النوع Boolean تكون هى نفس قيمة الإسناد

بمعنى x=true فالنتيجة true و x=false فالنتيجة false

مش عارف واضحة والا لا :blink:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3
GHOST2010 كتب:
النتيجة بالطبع 1 لأنك لا تقوم بالتحقق من قيمة المتغير isTrue وإنما تتحقق من القيمة الناتجة عن عملية إسناد القيمة true له والقيمة التى تنتج من عملية إسناد قيمة إلى متغير من النوع Boolean تكون هى نفس قيمة الإسناد

بمعنى x=true فالنتيجة true و x=false فالنتيجة false

مش عارف واضحة والا لا :blink:

كلام سليم 100%

If you want to learn programming start with C++

#4

صحيح الحل 100%

بالفعل هذا الذي يحصل ... أنا أول وهلة أعتقدت أن جملة if تقوم بفحص المتغير isTrue لكن تبين بعد ذلك أنها تقوم باسناد قيمة للمتغير isTrue ومن ثم فحص هذه القيمة المسندة

في السي شارب : == للمقارنة

: = لإسناد قيمة لمتغير

بالتوفيق

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#5

هذه النتيجة تنطبق أيضا على كل من لغة c و c++

If you want to learn programming start with C++

#6

كلام سليم و نقطة واضحة "= " للتخصيص القيمة و "==" للمقارنة

اعتقد انى قرأت ان فى حالة مثال مثل اللى حضرتك وضعته يفضل كتابتها بالشكل التالى

if (isTrue)

شكر خاص للأستاذ أكرم لمواضيعه الرائعة :D

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…