में & & की प्राथमिकता || की तुलना में अधिक है, तो यह कोड मूल्यांकन नहीं करना चाहिए - बी & & ++ सी पहले, और इस प्रकार आउटपुट 1 2 4 11. होना चाहिए। लेकिन यहां यह लगता है कि 1 2 5 10 देने के लिए संक्षिप्त सर्किट किया गया है। कृपया मदद करें!के मूल्यांकन के आदेश || और सी
int x;
int a=1,b=5,c=10;
x=a++||--b&&++c;
printf("%d %d %d %d\n",x,a,b,c);
return 0;
तो हम कैसे जानते हैं कि ब्रैकेट कब रखना है और कब नहीं? – Ashwyn
@Ashwyn थम का एक अच्छा नियम है जहां इरादा स्पष्ट नहीं है, ब्रैकेट डालना है। इस मामले में, यह ब्रैकेट्स का मामला नहीं है, आईएमओ यह स्पष्ट है कि क्या होता है। –
@Ashwyn मुझे लगता है कि आप बिंदु खो रहे हैं। आपको यह मानने का अधिकार है कि && || से कड़ा है।लेकिन अभिव्यक्ति अभी भी बाएं से दाएं का मूल्यांकन करती है। –