C में ++ और -- ऑपरेटरों को इंक्रीमेंट और डिक्रीमेंट ऑपरेटर कहा जाता है। वे यूनरी ऑपरेटर हैं जिन्हें केवल एक ऑपरेंड की आवश्यकता होती है। इसलिए ++ और -- ऑपरेटर ऑपरेंड के पहले या बाद में एक ही प्रभाव के साथ दिखाई दे सकते हैं।
इसका मतलब है कि i++ और ++i दोनों बराबर होंगे।
i=5; i++; printf("%d",i);
और
i=5 ++i; printf("%d",i);
दोनों i=6 बनाएंगे।
हालांकि, जब असाइनमेंट ऑपरेटर के साथ इंक्रीमेंट एक्सप्रेशन का उपयोग किया जाता है, तो ऑपरेटर की प्राथमिकता तस्वीर में आ जाएगी।
i=5; j=i++;
इस मामले में, =की वरीयता पोस्टफिक्स ++ से अधिक है। इसलिए, i का मान i को बढ़ाने से पहले i को सौंपा गया है। यहाँ j 5 हो जाता है और i 6 हो जाता है।
i=5; j=++i;
इस मामले में, उपसर्ग ++ की प्राथमिकता =ऑपरेटर से अधिक है। तो मैं पहले वेतन वृद्धि करूँगा और बढ़ा हुआ मान j को सौंपा गया है यहाँ i और j दोनों 6 हो गए हैं।
#include <stdio.h> int main() { int i=5,j; j=i++; printf ("\nafter postfix increment i=%d j=%d", i,j); i=5; j=++i; printf ("\n after prefix increment i=%d j=%d",i,j); return 0; }
आउटपुट है
after postfix increment i=6 j=5 after prefix increment i=6 j=6