ऑपरेटर प्रिसिडेंस एक एक्सप्रेशन में टर्म्स के ग्रुपिंग को निर्धारित करता है और तय करता है कि एक एक्सप्रेशन का मूल्यांकन कैसे किया जाता है। कुछ ऑपरेटर्स की प्रिसिडेंस दूसरों की तुलना में अधिक होती है; उदाहरण के लिए, मल्टीप्लिकेशन ऑपरेटर की प्रिसिडेंस एडिशन ऑपरेटर से अधिक होती है।
उदाहरण के लिए, x = 7 + 3 * 2; यहां, x को 13 असाइन किया जाता है, 20 नहीं क्योंकि ऑपरेटर * की प्रिसिडेंस + से अधिक होती है, इसलिए यह पहले 3*2 से गुणा होता है और फिर 7 में जुड़ता है।
यहां, उच्चतम प्रिसिडेंस वाले ऑपरेटर टेबल के शीर्ष पर दिखाई देते हैं, सबसे कम प्रिसिडेंस वाले नीचे दिखाई देते हैं। एक एक्सप्रेशन के भीतर, उच्च प्रिसिडेंस वाले ऑपरेटर पहले मूल्यांकन किए जाएंगे।
| श्रेणी | ऑपरेटर | एसोसिएटिविटी |
|---|---|---|
| पोस्टफिक्स | () [] -> . ++ -- | बाएं से दाएं |
| यूनरी | + - ! ~ ++ -- (type)* & sizeof | दाएं से बाएं |
| मल्टीप्लिकेटिव | * / % | बाएं से दाएं |
| एडिटिव | + - | बाएं से दाएं |
| शिफ्ट | << >> | बाएं से दाएं |
| रिलेशनल | < <= > >= | बाएं से दाएं |
| इक्वलिटी | == != | बाएं से दाएं |
| बिटवाइज AND | & | बाएं से दाएं |
| बिटवाइज XOR | ^ | बाएं से दाएं |
| बिटवाइज OR | | | बाएं से दाएं |
| लॉजिकल AND | && | बाएं से दाएं |
| लॉजिकल OR | || | बाएं से दाएं |
| कंडीशनल | ?: | दाएं से बाएं |
| असाइनमेंट | = += -= *= /= %=>>= <<= &= ^= |= | दाएं से बाएं |
| कॉमा | , | बाएं से दाएं |
उदाहरण कोड
#include <stdio.h> main() { int a = 20; int b = 10; int c = 15; int d = 5; int e; e = (a + b) * c / d; // ( 30 * 15 ) / 5 printf("Value of (a + b) * c / d is : %d\n", e ); e = ((a + b) * c) / d; // (30 * 15 ) / 5 printf("Value of ((a + b) * c) / d is : %d\n" , e ); e = (a + b) * (c / d); // (30) * (15/5) printf("Value of (a + b) * (c / d) is : %d\n", e ); e = a + (b * c) / d; // 20 + (150/5) printf("Value of a + (b * c) / d is : %d\n" , e ); return 0; }
आउटपुट
Value of (a + b) * c / d is : 90 Value of ((a + b) * c) / d is : 90 Value of (a + b) * (c / d) is : 90 Value of a + (b * c) / d is : 50