मैं निम्नलिखित कार्यक्रम के उत्पादन में समझ में नहीं आता:कृपया && और || की प्राथमिकता के बीच एक स्पष्ट संघर्ष की व्याख्या करें और एक अभिव्यक्ति की वास्तविक परिणाम
#include<stdio.h>
int main()
{
int i=-3, j=2, k=0, m;
m = ++i || ++j && ++k;
printf("%d %d %d %d\n", i, j, k, m);
return 0;
}
उत्पादन -2 2 0 1
-2 3 1 1
के बजाय, है जिसका अर्थ है कि ++i
मूल्यांकित किया गया था (और छोटी को ||
ऑपरेटर की वजह से अभिव्यक्ति ++j && ++k
अभिव्यक्ति से पहले सर्किट का दायां हाथ) सर्किट इस तथ्य के विपरीत है कि &&
ऑपरेटर ||
से अधिक प्राथमिकता है।
क्या कोई बताएगा क्यों?
मीटर का प्रकार क्या है? –
मीटर पूर्णांक प्रकार मैं anwer पता है ... मैं explaination की जरूरत क्यों k = 0 – anurag
'j' है और' k' वृद्धि कभी नहीं रहे हैं, क्योंकि अभिव्यक्ति का वह हिस्सा शॉर्ट सर्किट है। '++ i' सत्य है, इसलिए बाकी अभिव्यक्ति का मूल्यांकन नहीं किया जाता है। –