Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में इन्क्रीमेंट ++ और डिक्रीमेंट -- ऑपरेटर्स


इन्क्रीमेंट ऑपरेटर ++ अपने ऑपरेंड में 1 जोड़ता है, और डिक्रीमेंट ऑपरेटर -- अपने ऑपरेंड से 1 घटाता है। इसलिए,

x = x + 1; वही है x++; के

और इसी तरह,

x = x - 1; वही है x--; के

इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स दोनों या तो ऑपरेंड से पहले (प्रीफिक्स) या बाद में (पोस्टफिक्स) आ सकते हैं।

x = x + 1; को ++x; के रूप में लिखा जा सकता है

ध्यान दें कि, जब इन्क्रीमेंट या डिक्रीमेंट एक एक्सप्रेशन के भाग के रूप में उपयोग किया जाता है, तो प्रीफिक्स और पोस्टफिक्स रूपों में एक महत्वपूर्ण अंतर होता है। यदि आप प्रीफिक्स रूप का उपयोग कर रहे हैं तो इन्क्रीमेंट या डिक्रीमेंट शेष एक्सप्रेशन से पहले किया जाएगा, और यदि आप पोस्टफिक्स रूप का उपयोग कर रहे हैं, तो इन्क्रीमेंट या डिक्रीमेंट संपूर्ण एक्सप्रेशन के मूल्यांकन के बाद किया जाएगा।

  • प्रीफिक्स संस्करण में (यानी, ++i), i का मान बढ़ाया जाता है, और एक्सप्रेशन का मान i का नया मान होता है। तो मूल रूप से यह पहले इन्क्रीमेंट करता है फिर एक्सप्रेशन को मान असाइन करता है।
  • पोस्टफिक्स संस्करण में (यानी, i++), i का मान बढ़ाया जाता है, लेकिन एक्सप्रेशन का मान i का मूल मान होता है। तो मूल रूप से यह पहले एक्सप्रेशन को मान असाइन करता है और फिर वेरिएबल को इन्क्रीमेंट करता है।

उदाहरण

आइए बेहतर समझ के लिए कुछ कोड देखें:

#include<iostream>
using namespace std;
int main() {
    int x = 3, y, z;
    y = x++;
    z = ++x;
    cout << x << ", " << y << ", " << z;
    return 0;
}

आउटपुट

यह हमें निम्न आउटपुट देगा:

5, 3, 5

ऐसा क्यों है? आइए इसे विस्तार से देखें:

  • x को 3 से आरंभ करें
  • y को x++ एक्सप्रेशन का मूल्यांकन करके प्राप्त मान असाइन करें, यानी इन्क्रीमेंट से पहले x का मान फिर x को इन्क्रीमेंट करें।
  • x को इन्क्रीमेंट करें फिर z को ++x एक्सप्रेशन का मूल्यांकन करके प्राप्त मान असाइन करें, यानी इन्क्रीमेंट के बाद x का मान।
  • इन मानों को प्रिंट करें
  1. - Java में इंक्रीमेंट और डिक्रीमेंट ऑपरेटर्स

    इस एक्सप्रेशन में b || a != b && a == b++, ऑपरेटर प्रेसिडेंस के अनुसार && पहले || से पहले काम करेगा। इसलिए a != b && a == b++ false लौटाएगा और उसके बाद पूरा एक्सप्रेशन true लौटाएगा क्योंकि b true है। इसलिए परिणाम true है लेकिन b और a बदले नहीं जाएंगे और मान 2 और 1 ही रहेंगे क्योंकि a == b++ समानत

  1. - पायथन में इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर

    इस लेख में, हम पायथन 3.x (या पूर्व संस्करणों) में इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर के बारे में सीखेंगे। अन्य भाषाओं में हमारे पास प्री और पोस्ट इन्क्रीमेंट और डिक्रीमेंट (++ --) ऑपरेटर होते हैं। पायथन में ऐसा कोई ऑपरेटर नहीं है। लेकिन हम इन ऑपरेटरों को नीचे चर्चा किए गए उदाहरण के रूप में लागू कर स

  1. - पायथन में इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स

    पायथन में C/C++/Java की तरह ++ और -- यूनरी ऑपरेटर्स नहीं हैं। पायथन में वृद्धि/कमी # इन्क्रीमेंट a += 1 # a = a + 1 के बराबर # डिक्रीमेंट a -= 1 # a = a - 1 के बराबर उदाहरण a = 0 print(fप्रारंभिक: {a}) # 0 # इन्क्रीमेंट a += 1 print(fइन्क्रीमेंट के बाद: {a}) # 1 # डिक्रीमेंट a -= 1 prin