نکتهی اول اینکه اون علامت سوال دوم احتمالاً باید :
باشه!
نکتهی بعدی اینکه در C++
بنا بر قواعد تبدیل خودکار یا صریح، باید یک تبدیل انجام بده. (البته در کامپایلرهای جدید به این خط یک هشدار داده میشه)
در حقیقت تبدیل زیر انجام میشه
cout<<(((unsigned long int)-1L < 1UL) ? "lower" : "greater");
این تبدیل باعث میشه که -1L
به عنوان یک عدد مثبت در نظر گرفته بشه و در این صورت این عدد مثبت بسیار بزرگ هست. بنابراین مقدار سمت چپ از مقدار سمت راست بزرگتر میشه.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)