C में, ++ और -- ऑपरेटर्स को इंक्रीमेंट और डिक्रीमेंट ऑपरेटर्स कहा जाता हैं। वे यूनरी ऑपरेटर्स हैं जिन्हें केवल एक ऑपरेंड की आवश्यकता होती है। इसलिए ++ और -- ऑपरेटर ऑपरेंड के पहले या बाद में समान प्रभाव के साथ दिखाई दे सकते हैं।
इसका मतलब है कि i++ और ++i दोनों समान होंगे।
i=5; i++; printf("%d",i);और
i=5 ++i; printf("%d",i);दोनों i=6 बनाएंगे।
हालांकि, जब इंक्रीमेंट एक्सप्रेशन का उपयोग असाइनमेंट ऑपरेटर के साथ किया जाता है, तो ऑपरेटर प्रिसिडेंस तस्वीर में आएगा।
i=5; j=i++;
इस मामले में, = की प्रिसिडेंस पोस्टफिक्स ++ से अधिक है। इसलिए, i का मान i को बढ़ाने से पहले j को असाइन किया जाता है। यहां j 5 हो जाता है और i 6 हो जाता है।
i=5; j=++i;
इस मामले में, प्रीफिक्स ++ की प्रिसिडेंस = ऑपरेटर से अधिक है। इसलिए 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