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

("If ( cout<<”Hello

بدأه Little Programmer في 13 سبتمبر 2008 · 4 رد · 947 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم شباب كيف حالكم

من أكثر ما يحيرني في السي بلس بلس وجود أكواد كهذه

If ( cout<<”Hello”)

دقيقة .. ثانية .. لحظة !!!

في اللغة العربية مستحيل أقول لك :

إذا كان هات لي مياه !!

الجملة منطقياً لا تركب

أريد معنى لأمثال الكود أعلاه

أريد أن أعرف متى يتحقق كهذا الكود .. ومتى ينتفي

#2

السلام عليكم

سؤالك هذا ذكرنى بلغز جميل جدا وهو

فى الجمل الآتيه


cout<<"Hello";
else
cout<<"World";
	if(condition)

ما هو الشرط المناسب لإظهار HelloWorld

وطبعا بعد الحل كان الشرط هو كالآتى


cout<<"Hello";
else
cout<<"World";
	if(!(cout<<"Hello"))

وهذا لأن أى جمله داخل قوسى if أقصد جملة الشرط يتم تنفيذها فإذا نفذت بشكل صحيح يكون الشرط true والعكس صحيح

أرجوا أن يكون المثال قد أوصل لك الفكره

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#3

أعتقد أن الكمبايلر يعتبر هذا الجمل صحيحة .

جرب هذه الأكواد ستوضح لك الصورة ان شاء الله

  1.  
  2.  
  3.  
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. int main(int argc, char *argv[])
  9. {
  10. int a;
  11. if ( cin>>a && cout<<a*2<<endl)
  12.  
  13. if ( cin>>a , cout<<a*2<<endl)
  14.  
  15. if ( cout<<"A"<<endl || cout<<"B"<<endl)
  16.  
  17. if ( 0 && cin>>a && cout<<a*2<<endl)/*لن ينفذ */
  18.  
  19.  
  20.  
  21. cin.get();
  22. cin.get();
  23. cin.get();
  24.  
  25.  
  26. return 0;
  27. }
  28.  
  29.  
  30.  

تم تعديل هذه المشاركة بواسطة فهدالشلوي في 13 سبتمبر 2008 في 16:53

tvquran_6.gif

#4

الفكرة الأساسية أن الجملة الشرطية if في الC تعتبر الصفر هو الfalse و غير هذا true و لهذا عندما تقول

If ( cout<<”Hello”)

فهنا تقوم if باختبار قيمة cout و هو object و بالتأكيد قميته ليست 0 و لهذا يعتبر الشرط صحيحاً

اذا كنت تريد معرفة قيمة cout اكتب

cout<<cout

:lol:

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#5

بارك الله فيكم

ففكرة الموضوع أن الكمبايلر يقوم بتنفيذ جملة الشرط أيا كانت مقارنه أو اسناد أو استدعاء داله

فإذا كان الناتج شىء غير الصفر يعتبر true

فإذا كانت هناك عملية اسناد والناتج يكون صفر أو مقارنه نتيجتها false أو حتى داله تعود بالقيمه صفر

فبالتالى يكون الشرط هنا false

والأمثله الآتيه توضح ذلك


using namespace std;
int main()
{
int a=0;
if(cout<<++a<<'\n')
cout<<"Hello\n";
else
cout<<"World\n";
//*******************************************
if (a=3)
cout<<" yes\n";
else
cout<<"No\n";
//***************************************
if(a==5)
cout<<"yes\n";
else
cout<<"No\n";
//****************************************
cout<<endl;
return 0;
}
#include <iostream>

تتبع قيمة a فى البرنامج

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

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